【问题标题】:How to use valgrind in xterm with gdb on Linux (redhat)?如何在 Linux (redhat) 上通过 gdb 在 xterm 中使用 valgrind?
【发布时间】:2012-01-20 01:07:02
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

  • 你的 C++ 代码是什么,./starvalgrind 中的什么?
  • " 引号中引用您想要运行的所有内容,看看是否有帮助。

标签: c++ linux gdb valgrind xterm


【解决方案1】:

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

  1. 运行xterm -e gdb valgrind &
  2. xterm 中设置断点等
  3. run --tool=drd --read-var-info=yes ./star启动程序

【讨论】:

  • 或在valgrind 及其参数之间添加--args
【解决方案2】:

这应该可行:

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

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

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

为此,您需要两个 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' &

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2012-03-04
    • 2019-03-01
    • 1970-01-01
    • 2018-08-04
    相关资源
    最近更新 更多