gdb怎么带有源码路径(gdb 源文件路径)
本文目录一览:
- 1、gdb 怎么加载源文件调试
- 2、gdb在调试时是如何找到源文件在哪里?
- 3、如何使用gdb调试可执行程序与源程序
- 4、gdb调试,可执行文件和 源文件不在同一个目录怎么处理
- 5、如何使用gdb调试,类似于vc那样的带源码窗口
- 6、为什么gdb找不到源文件
gdb 怎么加载源文件调试
编译的时候 用 -g的参数,初始的时候 只能看到main所在的源码 用 l 打开其它源码文件后 在用b加断点
gdb在调试时是如何找到源文件在哪里?
默认会对两个路径进行搜索:
编译的时候的源文件路径
当前gdb的路径(即在gdb种执行pwd显示的路径,可以用cd改变)
所以你知道为什么不管可执行文件放到哪里,都能找到源文件了吧~如果你把源文件移走,就找不到了。这个时候,你可以通过dir命令添加路径进行查找。
如何使用gdb调试可执行程序与源程序
简单来说,有两种方式,一种是源码debug,即分析源码来找出bug位置,一般使用printf()打印出程序执行每一步的信息,一种是可执行文件debug
gdb调试,可执行文件和 源文件不在同一个目录怎么处理
gdb怎么带有源码路径我用makefile写了个编译程序gdb怎么带有源码路径,因为makefile自动搜索源文件路径gdb怎么带有源码路径,所以在写这个makefile文件时,我的每个源文件 只有文件名,而没附带路径名,说白了,我编译完成后,我的.h 文件在 /SE/include中,.cpp文件在 /SE/src中, .o文件和 可执行文件在/SE/bin中,然后我是在/SE/bin中 运行gdb ./a.out 的,然后用L命令时…… 就提示不存在文件了……,我的每个 g++编译过程都加上了-g选项,还请达达们指点 PS:我用了 gdb的-d 和dir命令 好像都不行……还是我用的方法不对?请指点 ------解决方案--------------------------------------------------------gdb a.out b main //设置断点run //运行------解决方案--------------------------------------------------------带路径gdb怎么带有源码路径你可以试试 g++ ../abc.cpp ./seh/def.cpp ../efgh/ijk.cpp ------解决方案--------------------------------------------------------l path/filename.c:linenumber ------解决方案--------------------------------------------------------探讨l path/filename.c:linenumber ------解决方案--------------------------------------------------------探讨引用:
如何使用gdb调试,类似于vc那样的带源码窗口
很简单,只需要带参数:-tui 启动即可,看到界面:
但是默认焦点是在上面源代码窗口上的(使用↑,↓、PgDn、PgUp键对源代码窗口有效),可使用命令“info win”看看焦点的位置:
(gdb) info win
SRC (15 lines) has focus
CMD (8 lines)
(gdb)
想要切换到命令窗口:fs CMD;
想要切换到源码窗口:fs SRC
注意:大小写敏感。直接:
(gdb) fs
warning: Incorrect Number of Arguments.
Usage: focus {win | next | prev}
=====================================================================
配合窗口经常使用的命令:
where——程序运行到了何处;
list——列出程序运行处附近10行源码;
为什么gdb找不到源文件
默认会对两个路径进行搜索:
编译的时候的源文件路径
当前gdb的路径(即在gdb种执行pwd显示的路径,可以用cd改变)
所以你知道为什么不管可执行文件放到哪里,都能找到源文件了吧~如果你把源文件移走,就找不到了。这个时候,你可以通过dir命令添加路径进行查找。