如何在 Linux (redhat) 上的 xterm 中使用 valgrind 和 gdb?

发布于 2024-12-27 20:43:22 字数 216 浏览 0 评论 0原文

如何在 Linux (redhat) 上的 xterm 中使用 valgrind 和 gdb ?

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

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

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

谢谢

How to use valgrind in xterm with gdb on Linux (redhat) ?

The command open a xterm terminal, which disappears immediately.

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

I need it to do debugging for C++ code.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小…楫夜泊 2025-01-03 20:43:22

如果您确实想调试 valgrind,步骤是:

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

If you really want to debug valgrind, the procedure is:

  1. Run xterm -e gdb valgrind &
  2. In the xterm, set up your breakpoints and such
  3. Start the program with run --tool=drd --read-var-info=yes ./star
蔚蓝源自深海 2025-01-03 20:43:22

这应该可行:

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' &

This should work:

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

assuming you want to debug valgrind itself (which seems unlikely, given the question).

If what you really want to do is debug ./star, while it is running under DRD, that used to be pretty much impossible, but became possible with recent valgrind versions, which have embedded gdbserver.

To do that, you'll want two xterms:

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' &
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文