我有兩個源文件,我目前正在編譯成一個可執行文件。gcc如何編譯多個源文件以用於GDB?
我用gcc -o ProgramName file1.c file2.c
我知道GDB需要-g
標誌被編譯,但我一定要正確放置它的時候。我已經嘗試了幾件事情,但沒有沿線:
gcc -g -o ProgramName file1.c file2.c
正在爲我工作。當我運行gdb
- >run
它表示沒有找到可執行文件。
我該如何正確編譯它,以便在GDB中運行?
我有兩個源文件,我目前正在編譯成一個可執行文件。gcc如何編譯多個源文件以用於GDB?
我用gcc -o ProgramName file1.c file2.c
我知道GDB需要-g
標誌被編譯,但我一定要正確放置它的時候。我已經嘗試了幾件事情,但沒有沿線:
gcc -g -o ProgramName file1.c file2.c
正在爲我工作。當我運行gdb
- >run
它表示沒有找到可執行文件。
我該如何正確編譯它,以便在GDB中運行?
正確的命令是
gdb ProgramName
隨後
run
在提示。
我認爲'。/'是多餘的。 'gdb'應該在當前目錄中找到'ProgramName'。這與shell不同,它只會搜索'PATH',除非該名稱包含'/'。 –
@IanAbbott這是真的,並修復了,但我剛剛意識到gdb似乎也使用路徑:D –
是的,我不確定它是先檢查當前目錄還是首先檢查PATH,但它應該很容易測試。 –
與嘗試:
gdb -tui ProgramName
這將打開GDB與Text User Interface,默認情況下將加載在你的屏幕的源代碼。通過這種方式,您將知道程序是否已加載。
屏幕將被拆分,在頂部的源代碼,並在底部的命令行,像這樣:
你沒有啓動或加載在GDB的程序? –
我不確定你在問什麼?我做了我之前描述過的事情,這就是我可以肯定說的。 –
像'gdb。/ ProgramName' - >'run'一樣啓動它。 GDB需要一個可執行文件來運行它 – Sma