对不起,不伦不类的标题步进,也想不出什么更好的主意。停止从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'命令。 –