GDB之所以能够知道对应的源代码,是因为调试版的可执行程序中记录了源代码的位置;因为源代码的位置在编译之后可能会移动到其它地方,所以GDB还会在当前目录中查找源代码,另外GDB也允许明确指定源代码的搜索位置。
源代码管理命令
- 显示源代码: list 或者l ,默认只显示10行
- 设置每次显示的函数: set listsize xx
- 查看指定函数代码: list func
- 查看指定文件指定行代码: list main.cpp:20
- l - 往前显示
代码
https://github.com/CoderDuanGe/gdbdebug/tree/master/view_source