LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1077|回复: 4

gdb调试问题请教

[复制链接]
发表于 2007-12-6 14:32:44 | 显示全部楼层 |阅读模式
大家好,

请问我调试的后用list 察看源代码,提示<<c++ - namespace>> no such file, 怎么回事呢,还有我明明在工程里有一个main.c文件,因为有
多个main()函数所以我想指定文件名来break这个main 函数,结果说找不到这个文件,为什么呢。最后问问如何显示一个函数的入参的值呢,谢谢大家
发表于 2007-12-6 14:38:09 | 显示全部楼层
gcc加-g参数,编译完后,不要删除和移动源代码
在函数入口break后,直接p
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-6 15:35:25 | 显示全部楼层
首先谢谢回复:

Breakpoint 1, 0x0807b11e in main ()
(gdb) p
The history is empty.
(gdb) list
1       <<C++-namespaces>>: No such file or directory.
        in <<C++-namespaces>>
(gdb)
1       in <<C++-namespaces>>
(gdb)


直接p也不行啊,最奇怪的就是这个提示,莫名其妙。另外为何不能 b main.c:main呢,这样操作的结果如下:

(gdb) b main.c:main
No source file named main.c.
Make breakpoint pending on future shared library load? (y or [n])

这是什么意思呢,还涉及共享库么
回复 支持 反对

使用道具 举报

发表于 2007-12-6 18:03:21 | 显示全部楼层
你要知道共享库不都是在一开始就全部都加载进内存的
所以你可以先设定一个,等它加载后在起效。当然这个和你的问题无关。

我让你加-g,你加了没哟,你应该说一声

p要加参数的,看help p
回复 支持 反对

使用道具 举报

发表于 2007-12-7 10:09:33 | 显示全部楼层
LZ,你如果编译时不加-g,就不要想用gdb,除非你精通汇编及C编译器的特性。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表