我正在使用CDT远程调试应用程序。该应用程序构建一个 源片段并将其JIT到内存中。对于调试,它会创建一个内存 ELF / DWARF映像并将其注册到GDB JIT接口,并写入源 与DWARF对应的文件到本地(目标)文件系统。
问题是调试器前端然后期望找到源文件 主机备案系统。如果我手动将源文件从目标复制到 在每个JIT事件之后的主机,然后调试器可以逐步通过源,但这 是不切实际的。让JIT将文件上传到主机需要JIT 要知道它正在被调试(并从哪里)。有没有办法获得gdbserver, 或CDT,以便在需要时从目标文件系统中检索源文件?
我创建了传递给GDB JIT接口的ELF / DWARF图像,所以我可以 如果有帮助,请使用备用路径描述源文件位置。
答案 0 :(得分:0)
gdbserver协议已经支持fetching remote files。
然后,诀窍是让GDB自动发出fetch命令以响应JIT事件。使用Python脚本很容易做到这一点。不幸的是,它看起来像JIT events are not exposed to Python。
我建议在GDB bugzilla中提交功能请求。