很抱歉标题不起眼,想不出更好的了。
当我在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(或按回车键)。
我几乎看不到程序的输出,因为它隐藏在毫无意义的信息中。
如果我反复按回车键,我经常会错过正在查找的Seg故障。
我怎样才能让gdb停止打印这样的行呢?
1273     in fileops.c

我可以使用一些配置文件或命令行选项吗?

最佳答案

您确定需要单步执行fileops.c中的glibc代码吗?
如果您只想调试自己的代码,那么您应该在跨入当前帧并继续调试代码之后退出finish函数。

09-25 22:11