我如何让valgrind跳过我在gdb调试时不想要的错误?

时间:2014-01-01 17:00:08

标签: gdb valgrind

我运行valgrind并且它出现了我感兴趣的特定错误(其他是误报)。运行gdb时我想直接看到那个错误。我该怎么做?否则由于其他大量错误而需要很长时间。这是我感兴趣的无效错误,我可以抑制其他类型的错误,或者我可以指定行号或地址,我很乐意停止该程序吗?

还是我不得不艰难地去做?

我在Linux Mint 13上使用valgrind 3.9.0和GDB 7.4-2012.04。

1 个答案:

答案 0 :(得分:0)

你可以指示valgrind跳过接下来的1000个错误:

(gdb) monitor v.set vgdb-error 1000 

还要在您有兴趣测试内存错误的代码的开头设置一个断点。达到断点后,在继续之前将vgdb-error设置为0,并且gdb将在每次错误时再次停止。

显然你也可以给valgrind一个要抑制的错误列表,或者valgrind可以用来自动生成列表。见http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress

请注意,海报正在讨论他正在使用valgrind的gdbserver和gdb调试程序的情况。这是一种用于向gdb会话添加内存错误检查的强大技术。见http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver