求助,gdb如何调试不在当前目录下的.c文件

stormyberg_qinzhi 2009-12-18 10:37:08
上网找了一些资料,看看他们写的都是用break line。

但是我想 假如有多个.c文件,要是这么写break 16的话,gdb能知道是哪个文件里的吗?

不太知道用什么方法?

请兄弟们帮忙!

这个源文件不与可执行文件同级,而与文件夹modules同级,我想写断点的文件在/modules/visualization/visual/visual.c

我这么做:b modules/visualization/visual/visual.c:188
但是提示我:No source file named modules/visualization/visual/visual.c.
Make breakpoint pending on future shared library load?(y or [n])

我又在modules前加上/也不好用。

不知道是设上了断点,但是没停,还是压根就没设上断点。

又用了这个方法:
在gdb命令行中 到是能用cd modules/visualization/visual
然后提示:Working directory /home/back/vlc-1.0.3/modules/visualization/visual.
(gdb)等待输入
然后我输入:b visual.c:225
提示:No source file named visual.c
Make breakpoint pending on future shared library load?(y or [n])
我按了y
提示:Breakpoint 1(visual.c:255) pending.
(gdb)等待输入
然后我输入:run
但是运行到我认为可以停止的地方(即)断点,但是程序不停。

这怎么办啊?
...全文
275 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stormyberg_qinzhi 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 do_fork 的回复:]
如果编译的是release版,没有调试信息
[/Quote]

对头,谢谢,
加上./configure--enable-debug就可以了。

结贴
stormyberg_qinzhi 2009-12-18
  • 打赏
  • 举报
回复
是不是在./configure--enable-debug写上这个选项?
stormyberg_qinzhi 2009-12-18
  • 打赏
  • 举报
回复
vlc怎么编译debug版,
highball 2009-12-18
  • 打赏
  • 举报
回复
mark
do_fork 2009-12-18
  • 打赏
  • 举报
回复
如果编译的是release版,没有调试信息
stormyberg_qinzhi 2009-12-18
  • 打赏
  • 举报
回复
呵呵,还是你啊!

我这个是vlc。编译通过了。直接就是make(前面有一些步骤)

如果是配置和编译的错误,是否能启动 :$gdb vlc 可以
$run 可以
就设置不了断点。

冻结 2009-12-18
  • 打赏
  • 举报
回复
不会。
do_fork 2009-12-18
  • 打赏
  • 举报
回复
程序怎么编译的?

69,380

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧