[英]Debug chrooted program with gdb
我处于必须调试的程序必须在chroot环境中运行的情况。 现在,我已经在另一个根目录中安装了gdb并复制了源代码,这可以用于基本设置,但不是很方便,因为每次更改和重新编译时都必须重新同步源代码,并且必须复制在我所有的gdb设置上,等等。
有什么方法可以在正常环境中运行调试器,以调试在chroot环境中运行的程序? 我在Arch Linux上。
您可以使用远程调试:
在chroot中,您只需要通常的运行时以及程序gdbserver
。 然后运行:
chroot$ gdbserver :8888 myprogram
在开发环境中,从源目录运行gdb
并将其连接到服务器
$ gdb myprogram
(gdb) target remote :8888
然后就可以开始调试了。
我喜欢在continue
之前做br main
,因为调试器将在_start
停止,为时过早,将无用。
PS:由于8888是侦听TCP端口,因此在使用远程调试时要注意安全性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.