1.-g,产生调试信息,3表示调试级别。比如3这个级别可以调试宏。如下为我通过xShell连接Linux系统通过GDB调试正常显示汉字的终端设置示例:终端编码应该设置为GB2312,设置完成后通过GDB调试后用list命令就能正常显示中文。GDB调试时无法正确显示源代码中的汉字与GDB本身无关,而是由终端的字符编码不正确导致。

如何让gdb调试时正确显示源代码中的汉字?

如何让gdb调试时正确显示源代码中的汉字

GDB调试时无法正确显示源代码中的汉字与GDB本身无关,而是由终端的字符编码不正确导致。如下为我通过xShell连接Linux系统通过GDB调试正常显示汉字的终端设置示例:终端编码应该设置为GB2312,设置完成后通过GDB调试后用list命令就能正常显示中文。楼主可以根据自己的Linux系统自行设置终端字符编码,不同的Linux设置不同,楼主可以自行查阅相关命令。

如何设置gcc的编译选项,使得生成的可执行文件可以更方便地用gdb来调试?

如何设置gcc的编译选项,使得生成的可执行文件可以更方便地用gdb来调试

编译程序时设置-g3 -O0编译参数,使其程序不优化以及尽可能多的生成调试信息。1.-g,产生调试信息,3表示调试级别。这个级别会产生更多的额外调试信息。比如3这个级别可以调试宏。2.-O,规定编译器的优化等级,优化级数越高执行效率一般越好,但是优化会改变原有程序结构,使得其汇编不易理解,使其源代码与汇编对应不上,断点地址与源码对应不上等问题,-O0表示对程序不做任何优化。


文章TAG:调试  GDB  gdb  指南  详细  
下一篇