如果我使用gdb
进行远程调试,我会使用以下方式连接到gdbserver
:
target remote host:2345
如果我使用valgrind和gdb来调试内存错误(以在无效内存访问时中断程序),我会使用以下命令:
target remote | vgdb
抱歉,您需要提供要翻译的完整内容才能进行翻译。
valgrind --track-origins=yes --vgdb=yes --vgdb-error=0 [binary]
在本地计算机上(即本地机器)进行调试,我能否将两者结合起来,以便在远程计算机上调试内存错误?
请注意,我希望避免在远程计算机上使用登录shell。
(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
进程终止...所以我无法使用它进行调试,甚至无法运行它。有什么想法? - highsciguy