gcc (GCC) 4.1.2
c89
Red Hat Enterprise Linux Server release 5.4
2.6.18-164.el5
GNU gdb Fedora (6.8-37.el5)
使用以下调试标志-ggdb
进行编译
我正在寻找一种在远程服务器上进行调试的方法。
目前我正在使用 gdb 进行调试。
但是,我想打印结构的内容以查看该元素已分配给什么值。
我可以做到这一点:
p media_description
$2 = (sdp_media_description_t *) 0xb7a80318
但是,这只是给我结构的内存地址。
是否有地方可以打印结构的元素?
非常感谢您的建议,
====编辑======
sdp_media_description_t *media_description = NULL;
media_description = get_item(sdp_media_des_list, outer);
上面的代码应该返回一个指向结构实例的指针。
最佳答案
也许你有一个指向结构而不是结构的指针?
如果是这种情况,您可以在打印时取消引用指针,即
p *媒体描述
此外,如果您不想在控制台模式下使用 gdb 并且有您喜欢的图形前端,您应该能够通过在正在调试的计算机上运行 gdbserver 并在正在调试的计算机上运行 gdb 来远程使用它。由 GUI 驱动的开发机器,或者通过在被测机器上运行所有内容并使用 X 窗口系统的远程功能将其显示在您坐在前面的机器上
关于c - 远程调试的调试技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4551623/