【问题标题】:GDB remote debugging with valgrind使用 valgrind 进行 GDB 远程调试
【发布时间】:2013-03-05 14:59:53
【问题描述】:

如果我使用gdb 进行远程调试,我会使用gdbserver 连接到

target remote host:2345

如果我使用 valgrind 和 gdb 调试内存错误(以中断无效的内存访问),我会使用

target remote | vgdb

(启动后

​​>
valgrind --track-origins=yes --vgdb=yes --vgdb-error=0 [binary]

在本地机器上)

我可以将两者结合起来调试远程机器上的内存错误吗?

请注意,我想避免在远程机器上使用登录 shell 来在那里工作。

【问题讨论】:

    标签: c debugging gdb valgrind


    【解决方案1】:

    我可以将两者结合起来调试远程机器上的内存错误吗?

    是:当前 vgdb 接受 --port= 参数,因为此提交:

    r12204 | sewardj | 2011-10-22 13:38:08 -0700 (Sat, 22 Oct 2011) | 5 lines
    

    所以像往常一样运行vgdb --port=2345,然后运行(gdb) target remote host:2345

    【讨论】:

    • 我现在有时间试试这个:( valgrind --track-origins=yes --vgdb=yes --vgdb-error=0 $opt_executable $opt_executable_args | tee $myprogramlog; ) & sleep 5; vgdb --port=2345 我得到:listening on port 2345 ...connected. relaying data between gdb and process 4853 然后(gdb) target remote host:2345 进程终止.. 所以我不能用它调试,甚至不能运行它。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-07-19
    • 2011-10-18
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多