基本调试思想:分析现象->假设错误原因->产生新的现象去验证假设。
gdb可以完全操控程序的运行,可以控制程序的运行过程,并且可以随时查看程序中所有的内部状态(各变量的值、传递给函数的参数、当前执行的语句位置等)。
生成gdb可调试代码:
1 | gcc -g main.c -o main |
基本命令:
1 | gdb main # 开始调试 |
用gdb调试段错误: 直接run, 程序停止的位置就是出段错误的位置
栈帧:随着函数调用而在stack上开辟的一块内存空间, 用于存放函数调用时产生的局部变量和临时值
其他命令:
1 | start #单步执行; |