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);
上面的代码应该返回一个指向结构实例的指针。
答案 0 :(得分:1)
由于media_description
显然是指针,因此您希望打印它指向的结构:
p *media_description
答案 1 :(得分:1)
也许你有一个结构而不是结构的指针?
如果是这种情况,您可以在打印时取消引用指针,即
p * media_description
此外,如果您不想在控制台模式下使用gdb并且拥有您喜欢的图形前端,您应该可以通过在正在调试的计算机上运行gdbserver并在其上运行gdb来远程使用它。由gui驱动的开发机器,或者运行被测机器上的所有东西,并使用X窗口系统的远程功能将它显示在你坐在前面的机器上