2011-04-05 132 views
1

这是正常的吗?我发誓它直到最近才设置了1个断点。如何让它只在我的运行文件中设置一个断点而不是源文件。为什么我的gdb调试器设置了2个断点?

(gdb) break main 
Breakpoint 1 at 0x1dbf 
Breakpoint 2 at 0x1ed8: file arrays.c, line 17. 
warning: Multiple breakpoints were set. 
Use the "delete" command to delete unwanted breakpoints. 
(gdb) 
+0

可能重复的[GDB:警告:多个断点设定]( http://stackoverflow.com/questions/7330364/gdb-warning-multiple-breakpoints-were-set) – osgx 2011-09-07 08:18:55

回答

2

有多个主符号:)也许看 '信息的断点' 在gdb或

objdump -C -t myprog 

明白为什么/哪里。

使用cscope以交互方式搜索声明。

ctags -R . && grep -w main tags 
[ -x /usr/bin/vim ] && vim +'tj main' 

应该是有帮助的,以及如果你有ctags的(和可选,VIM)安装

如果一切都失败了,蛮力grep -RIw main .应该工作。如果即使失败了,你也应该发现自己有一个非常奇怪的外部头文件#define或者甚至是一个带有多余主符号的(静态)库。到蛮力搜索该main标识符通过预处理来源:

替换-I/usr/include/... -DDEBUG有关预处理器定义)的

相关问题