GNU调试器不显示C ++结构中的所有数据

时间:2011-01-29 22:12:13

标签: c++ debugging gnu

我一直在使用带有C ++,Codelite和GNU开发工具的WinPcap库。我有一个描述IP头的IP4结构。当我将数据包数据转换为结构时,我无法在调试器中看到所有数据,只是随机的数据位。例如,IP4结构中的源地址和目标地址没有显示在调试器中,但是当我运行printf语句时,它们显示完全正常。为什么调试器会这样做?结构中的数据类型是否重要?我发现printf结构很麻烦,以确保数据有效。 MinGW-4.4.1和GNU gdb(GDB)7.1

2 个答案:

答案 0 :(得分:0)

您可能应该使用-gstabs + gcc选项重新编译winpcap库。这将允许您在调试器中查看库。此选项添加仅由gdb理解的调试符号(并且其他调试器将崩溃),但提供了查看代码的最全面方式。

答案 1 :(得分:0)

调试器关心数据结构的类型。只有在使用正确的数据类型时,才会在调试器中看到完整数据。