は、Cloud9オンラインIDEで単純なC++アプリケーションを実行しようとしました。 私は遠隔のgdbデバッグ(「リモート - 実際のリモートデバッグを意味するわけではありませんが、クライアント/サーバのデバッグを使用しているわけではありませんが、実際にローカルデバッグがありますが、とにかくgdbserverと同じホスト上のGDB) 私が代わりに直接G ++のコンパイルのメイクファイルを使用して構築する++ランナーCデフォルトの唯一の違いがあり、コミュニティフォーラムに設けられたC++ランナーを使用しているここにある:。。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にありますか? (説明の前/後とmain関数の開始/終了を含め、多くの箇所にブレークポイントを設定しています)
あなたのメイクファイルは表示されていません。デバッグシンボルでビルドされたアプリは有効になっていますか? – Mutahhir
メイクファイルはcmakeによって生成されました。-DCMAKE_Build_Type =デバッグ – amigo421
cmakeによって生成されたメイクファイルを調べる必要があります。デフォルトのC++テンプレートがうまく動作し、デバッグトレースがあります。 – amigo421