試圖在Cloud9在線IDE中運行簡單的C++應用程序。 我是遠程gdb調試的新手(「遠程 - 我不是指真正的遠程調試,而是使用客戶端/服務器調試,因爲我看到實際上是本地調試,但無論如何,我看到使用gdbserver的runner配置和。GDB在同一主機上) 我使用設在社區論壇C++亞軍,其中有從默認的C++亞軍是建立使用的,而不是直接的g ++編譯生成文件的唯一區別就在這裏,它是:。Cloud9 IDE:debug C++應用程序
{
"script": [
"set -e",
"cd /home/ubuntu/workspace/build",
"make",
"chmod 755 \"my_app\"",
"if [ \"$debug\" == true ]; then ",
"gdbserver --once :15470 \"my_app\" $args",
"else",
"my_app $args",
"fi"
],
"info": "Running Project",
"debugport": 15470,
"debugger": "gdb",
"executable": "my",
"maxdepth": 50,
"$debugDefaultState": false,
"env": {},
"selector": "^.*\\.(cpp|cc)$"
}
當我使用啓用調試運行時,我看到這個輸出:
Running Project
....
[100%] Built target my_app
Process my_app created; pid = 25969
Listening on port 15470
Remote debugging from host 127.0.0.1
My Test Application
description of my test applciation
usage:
my_app [task_name] [task_parameters ...]
Child exited with status 1
GDBserver exiting
所以這是一個默認運行沒有參數的應用程序,它只顯示一個描述。但是它不會停在任何斷點上。這是一個主要問題,我的問題在這裏
從上面的輸出,對我來說,目前還不清楚 - 是gdb成功連接到gdbserver或不是? 所以問題是在gdbserver和gdb之間的連接? 或在IDE中沒有停止的斷點? (我已經在很多地方設置了斷點,包括描述輸出之前/之後以及主函數的開始/結束處)
由於你的makefile沒有顯示。應用是否啓用了調試符號? – Mutahhir
由cmake生成的makefile與-DCMAKE_Build_Type =調試 – amigo421
你是對的,需要調查由cmake生成的makefile,默認的C++模板工作正常,帶有調試跟蹤 – amigo421