我正在qemu中调试一个操作系统(内核+一个用户空间应用程序),使用连接到gdbserver的gdb。因为我有两个二进制文件,所以我想首先用内核二进制连接到gdbserver,其次用用户空间二进制连接,这样我就可以从内核跟踪顺利地切换到用户空间跟踪。但是,似乎gdbserver不能接受多个连接。能绕开这件事吗?
发布于 2015-03-19 18:34:39
我发现最好的方法是使用gdb命令add -符号文件添加用户空间应用程序调试信息,前提是您知道它们的加载地址。因此,准确地说,您必须像往常一样通过将gdb连接到gdbserver启动内核调试;然后,您可以添加那些应用程序调试信息。不过,您也可以使用.gdbinit脚本。读取这
发布于 2015-03-13 14:57:19
QEMU的gdbstub只支持系统/内核级调试,一次只支持一个连接。但是,您应该能够在userspace gdbserver (在客户内部运行)下运行您的一个用户空间应用程序,并将第二个gdb连接到该应用程序。(如果你还没有解决这个问题,你可能需要花些时间摆弄一下外部世界和你的客人系统之间的关系网。)
https://stackoverflow.com/questions/28890608
复制相似问题