大家都知道,用gdb debugger时要先输入gcc -g filename
可是有的时候你不得不用某些IDE,没有给你输入gcc -g的机会咋办?IDE的界面就只有complie,build,run还有run debugger(gdb)。如果此时在run debugger里强行读取o文件是读不进去的,读取exe的话能读能跑但是不能debugger!
这时候应该用build中的debug,相当于带着-g build了一个可以用gdb读取的o文件,然后再用run debugger,gdb就已经正确读入了代码,可以debugger了~
==================================
顺便说一下到底什么是debugger,我之前一直以为解决编译中的问题,让code最后能跑起来就是debugger,其实不是的,debugger是code已经跑起来但是没有得到想要的结果时,去检查程序内部的逻辑的工作,可以说是一种特殊的complier。如果程序语法有问题,debugger是编译不起来的。
如果你用过Matlab就很好理解,matlab里所有的变量都会被自动记录,点一下就能查看了,设置程序断点也是点一下就好,这就是debugger。Matlab(还有Gauss)都是所谓的“整合语言”,debugger完全自动化并且融合在IDE中。但C、Fortran之类的“编译语言”,debugger就要手动在IDE之外的cmd中进行了......