gcc调试工具使用极简总结:
假如现在有c文件demo.c,那么手下需要gcc编译器生成可调式的debug版本文件:
+ gcc -g demo.c -o demo_debug.out
解释一下:-g含义就是生成可gdb调试的版本,-o是指生成制定名称的.o文件,如果不指定,则会生成默认的a.out文件。
然后,假如利用gdb开始调试,需要知道下面几个简单命令:
+ list,简称l:查看源代码;
+ 回车:继续执行上一条指令;
+ break + 行数:设置断点;
+ start:单步调试;
+ p a全程print a:查看a变量在内存中的情况;
+ 如果是个结构体,怎么输出这个结构体中的内容?x/10d 0x7ffffffff8d,其中,x表示要输出地址中的内容,/10表示要输出10个值,d表示以%d形式输出。
+ n:执行到下一条语句,next;
当调试到某一个函数时,想要进入该函数内部查看,可以使用s命令即可进入。
+ bt:查看函数堆栈;
+ f x:切换到x号函数;
最后,想要退出gdb,q命令可以帮到我们