2012-11-14 50 views
0

編譯我有一個源文件testcc.c剛剛打印「你好,世界」源文件,我使用cc編譯如下GDB不能找到CC

cc -g -o testcc testcc.c 

當我運行它工作正常它。 現在我想用gdb用下面的命令進行調試。

gdb testcc 

我可以看到gdb的輸出。

GDB是自由軟件,歡迎您在特定條件下分發它 複印件;鍵入「顯示覆制」查看條件。 GDB絕對不提供任何擔保;鍵入「顯示保修」爲 的詳細信息。 GDB 4.16(Sun SPARC的-solaris2.6),版權1996自由軟件基金會 ,公司...

但是,當我嘗試第5行設置斷點,我得到了以下信息

(gdb) break 5 
Breakpoint 1 at 0x10814: file /home/users/xxx/C, line 5. 
(gdb) 

問題是/ home/users/xxx/C是我當前的工作目錄,而不是源文件!

然後,我嘗試使用文件:行號選項

(gdb) break testcc.c:5 
No source file named testcc.c. 

所以,我包括文件名,如下

(gdb) break /home/users/xxx/testcc.c:5 
No source file named /home/users/xxx/testcc.c. 

我很困惑,該文件的完整路徑在那裏,爲什麼gdb找不到它? 我也嘗試指定要搜索源文件的目錄開始GDB

gdb -d /home/users/xxx/C testcc 

它仍然不工作的時候,有什麼問題呢?

+0

是'/家庭/用戶/ XXX/C'一個真正的目錄或者你安裝Solaris系統上的Windows文件系統? –

+0

您是否看到「從/path/to/your/cc/file...done中讀取符號」的消息。在啓動?另外,GDB似乎在我的Linux機器上是7.4.1版本,所以4.16對我來說看起來已經老舊了......最後,試一下,試試gdb ./testcc(路徑中可能有另一個testcc) – Sjlver

+0

試試從http://www.sunfreeware.com/抓取更新版本的GDB。我懷疑你的'gdb',版本4.16(sparc-sun-solaris2.6),在你的'gcc'副本產生的調試信息時遇到問題。 – scottt

回答