簡體   English   中英

使用strace和ltrace進行調試

[英]Debug with strace and ltrace

我的程序掛起,我決定ltracestrace它。

strace -p pid

在屏幕上給我“無限”打印:

lseek(3, 57114624, SEEK_SET)            = 57114624
read(3, "\r\r\207\0\n\6O\0\16b\f\277\v\370\v1\ni\tm\10\245\7\335\7\25\6O\5v\5v"..., 4096) = 4096
lseek(3, 57118720, SEEK_SET)            = 57118720
read(3, "\r\1(\0\21\0`\0\0174\16l\r\246\f\336\f\26\vO\n\207\t\277\10\371\6\233\5\323\5\v"..., 4096) = 4096
...

ltrace -p pid提供相同的“無限”打印:

memcmp(0x12efab68, 0x12eface8, 15, 0x12eface8)                                      = 0xfffffff8
memset(0x12fa48e0, '\0', 72)                                                        = 0x12fa48e0
memset(0x12fa4928, '\0', 144)                                                       = 0x12fa4928
lseek64(3, 0x2c30000, 0, 0x2c30000)                                                 = 0x2c30000
memcpy(0x12efab68, "DIRAC.HLTFarm.lhcb", 18)                                        = 0x12efab68
memcmp(0x12efab68, 0x12eface8, 15, 0x12eface8)                                      = 0xfffffff8
memcpy(0x12efab68, "DIRAC.HLTFarm.lhcb", 18^C)                                        = 0x12efab68

根據這些結果,我可以對程序進行的操作得出哪些結論?

附加調試器(使用gdb -p pid )並獲取回溯(使用bt命令)。 這將更詳細地告訴您程序在哪里旋轉。 您可能必須安裝調試信息才能獲得有用的回溯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM