不知道类型打印数据?

我需要打印一些结构用于调试目的。由于代码库很大,我很难找到我需要查看的确切成员。有什么方法可以打印出整个结构吗? 或至少知道它是什么类型的结构,以便我可以回去看看它的定义?

使用调试器。 大多数调试器都会为您提供在遇到断点时查看整个结构内容的选项。 在* nix上,最流行的调试器是gdb ,而在Windows上,最流行的IDE(包括调试器)是Visual Studio 。 我联系的两个网站都有免费的啤酒下载链接。

在gdb中,可以使用break命令设置断点,一旦到达断点,就可以使用print命令打印结构的内容。 更具体地说,您可以使用包含的调试数据(gcc中的-g标志)进行编译,然后使用

 $ gdb debugging_executable Some basic information about GDB gets printed here > break main.c:100 > run > print struct_variable 

它也值得研究一步并继续命令。

在Visual Studio中,您可以通过双击源代码行的左侧(编辑器左侧有一个灰色条)来设置断点,并将鼠标hover在变量名称上,以便在到达断点。