实验室环境gdb调试

  • 打印单个线程的调用栈
    gdb attach tid handle SIGUSR2 nostop noprint set height 0 bt detach quit

  • 对程序中对任意点加打印
    gdb attch pid handle SIGUSR2 nostop noprint set height 0 break filename:linenum commands 1 print varname continue end continue detach quit
    如1:
    gdb attch 21890 handle SIGUSR2 nostop noprint set height 0 break isup.c : 4002 if pos == 2572 commands 1 print pos continue end continue detach quit
    如2:
    gdb attch 18849 handle SIGUSR2 nostop noprint set height 0 break diameter.c:557 commands 1 print g_pstDiamTdrCb[ulTdrCbIdx].stDiamInfo.stDiamTDR.ulHopId call sanex_printf( "diameter.c", 557, "DiamDmtMsgProc", 4, 467, "Receive request message, the HopID is %x.", g_pstDiamTdrCb[ulTdrCbIdx].stDiamInfo.stDiamTDR.ulHopId) continue end break diameter.c:447 commands 2 print g_pstDiamTdrCb[ulTdrCbIdx].stDiamInfo.stDiamTDR.ulHopId call sanex_printf( "diameter.c", 557, "DiamDmtMsgProc", 4, 467, "Time out, the HopID is %x.", g_pstDiamTdrCb[ulTdrCbIdx].stDiamInfo.stDiamTDR.ulHopId) continue end continue detach quit

你可能感兴趣的:(实验室环境gdb调试)