2017-09-01 69 views
0

我有兩個源文件,我目前正在編譯成一個可執行文件。gcc如何編譯多個源文件以用於GDB?

我用gcc -o ProgramName file1.c file2.c

我知道GDB需要-g標誌被編譯,但我一定要正確放置它的時候。我已經嘗試了幾件事情,但沒有沿線:

gcc -g -o ProgramName file1.c file2.c正在爲我工​​作。當我運行gdb - >run它表示沒有找到可執行文件。

我該如何正確編譯它,以便在GDB中運行?

+1

你沒有啓動或加載在GDB的程序? –

+0

我不確定你在問什麼?我做了我之前描述過的事情,這就是我可以肯定說的。 –

+2

像'gdb。/ ProgramName' - >'run'一樣啓動它。 GDB需要一個可執行文件來運行它 – Sma

回答

3

正確的命令是

gdb ProgramName 

隨後

run 

在提示。

+0

我認爲'。/'是多餘的。 'gdb'應該在當前目錄中找到'ProgramName'。這與shell不同,它只會搜索'PATH',除非該名稱包含'/'。 –

+0

@IanAbbott這是真的,並修復了,但我剛剛意識到gdb似乎也使用路徑:D –

+0

是的,我不確定它是先檢查當前目錄還是首先檢查PATH,但它應該很容易測試。 –

1

與嘗試:

gdb -tui ProgramName 

這將打開GDB與Text User Interface,默認情況下將加載在你的屏幕的源代碼。通過這種方式,您將知道程序是否已加載。

屏幕將被拆分,在頂部的源代碼,並在底部的命令行,像這樣:

gdb-tui