2011-04-05 130 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有關預處理器定義)的

相關問題