對不起,不倫不類的標題步進,也想不出什麼更好的主意。停止從GDB通過glibc的功能
當我通過GDB運行我的程序找到分段錯誤,我得到數千這種垃圾的行:
(gdb) step
_IO_new_file_xsputn (f=0x76fa0b40 <_IO_2_1_stdout_>, data=0x7efff284, n=7) at fileops.c
1279 fileops.c: No such file or directory.
(gdb) step
1273 in fileops.c
(gdb) step
1279 in fileops.c
(gdb) step
1286 in fileops.c
(gdb) step
1288 in fileops.c
(gdb) step
1289 in fileops.c
(gdb) step
1292 in fileops.c
(gdb) step
1294 in fileops.c
(gdb) step
1292 in fileops.c
...和和和。它使調試非常困難和乏味,因爲:
- 我必須鍵入
step
(或按回車)反覆。 - 我幾乎看不到我的程序的輸出,因爲它隱藏在毫無意義的信息中。
- 如果我按重複輸入,我經常想念我在尋找賽格故障。
我怎麼能告訴GDB退出打印這樣的線?
1273 in fileops.c
有沒有我可以使用一些配置文件或命令行選項?
你確定需要瀏覽'fileops.c'中的glibc代碼嗎?你可以'完成'去掉'_IO_new_file_xsputn'函數並繼續調試你的代碼。 – ks1322
@ ks1322我認爲這是我正在尋找的;我會盡快嘗試。你可以把它放在答案中? –
相關:[防止GDB進入函數(或文件)](http://stackoverflow.com/questions/1133365/preventing-gdb-from-stepping-into-a-function-or-file)。參見'skip'命令。 –