0

如何在 Linux (redhat) 上通过 gdb 在 xterm 中使用 valgrind?

该命令打开一个 xterm 终端,该终端立即消失。

xterm -e gdb valgrind --tool=drd --read-var-info=yes ./star &

我需要它来调试 C++ 代码。

谢谢

4

2 回答 2

0

如果你真的要调试valgrind,过程是:

  1. xterm -e gdb valgrind &
  2. 在中xterm,设置断点等
  3. 启动程序run --tool=drd --read-var-info=yes ./star
于 2012-01-20T01:18:03.140 回答
0

这应该有效:

xterm -e gdb --args valgrind --tool=drd --read-var-info=yes ./star &

假设您想调试 valgrind 本身(考虑到问题,这似乎不太可能)。

如果你真正想做的是调试./star,而它在 下运行时DRD,这在过去几乎是不可能的,但最近的 valgrind 版本已经成为可能,它嵌入了 gdbserver。

为此,您需要两个 xterm:

xterm -e valgrind --tool=drd --read-var-info=yes --vgdb-error=1 ./star &
xterm -e gdb -ex 'file ./star' -ex 'target remote | /path/to/vgdb' &
于 2012-01-20T03:03:57.563 回答