vscode でリモート gdb をデバッグするにはどうすればよいですか?以下の記事では、vscode のリモート gdb デバッグ方法を紹介しますので、ご参考になれば幸いです。
最近、同僚の指導で gdb のデバッグに vscode を使ってみたのですが、使ってみると「とても良い」と感じました。
早速ですが、この記事で達成することは、Linux サーバー上の C コードと Windows 側の Arm 組み込みデバイスをリモート デバッグし、GDB デバッグの構成と使用法を整理することです。
まずサーバーへのリモート接続を確立する必要があり、プラグイン ライブラリで「remote-ssh」を検索し、ダブルクリックします。ダウンロードしてインストールするには (下の図ではすでにインストールされています)、インストール後、リモート リソース マネージャーがサイドバーに表示されます。 [推奨される学習: vscode チュートリアル 、プログラミング教育 ]
+ 記号をクリックし、ポップアップ コマンドに「ssh」と入力しますコマンドにログインするためのウィンドウが表示され、プロンプトに従ってパスワードを入力して確認すると、接続が成功します
サーバー上に c コードを作成します。例として「Linux C Get System User Name」のコードを示します。非常に簡単です。
#include <unistd.h> #include <pwd.h> #include <iostream> int main() { struct passwd* pwd; uid_t userid; userid = getuid(); pwd = getpwuid(userid); std::cout << "pw_name:" << pwd->pw_name << std::endl; std::cout << "pw_passwd:" << pwd->pw_passwd << std::endl; std::cout << "pw_uid:" << pwd->pw_uid << std::endl; std::cout << "pw_gid:" << pwd->pw_gid << std::endl; std::cout << "pw_gecos:" << pwd->pw_gecos << std::endl; std::cout << "pw_dir:" << pwd->pw_dir << std::endl; std::cout << "pw_shell:" << pwd->pw_shell << std::endl; return 0; }
コンパイル方法は次のとおりです。以下のように、必ず -g コマンドを追加してください。それ以外の場合は、gdb
g++ -g test.cpp -o test
でデバッグできません。次に、「ファイル」-「フォルダーを開く」をクリックして、作成されたコード パスを見つけます。確認後、リソース内にコード ファイルが表示されます。左側がマネージャー。
最初の実行では c 拡張機能をインストールする必要があります。拡張機能のページで、C/C をインストールします。
## また、「GDB Debug」を検索してインストールします インストール後、「実行とデバッグ」ボタンをクリックし、「launch.json ファイルを作成」をクリックし、 を選択します。 C (GDB /LLDB) 項目で、launch.json ファイルが自動的に生成されます。内容は次のとおりです。{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [] }
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中 "type": "cppdbg", //配置类型 "request": "launch", //请求配置类型,可以是启动或者是附加 "program": "${workspaceFolder}/test", //程序可执行文件的完整路径,${workspaceFolder}表示远程连接的初始路径 "args": [], //传递给程序的命令行参数 "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止 "cwd": "${workspaceFolder}", //目标的工作目录 "environment": [], //表示要预设的环境变量 "externalConsole": false,//如果为true,则为调试对象启动控制台 "MIMode": "gdb",//要连接到的控制台启动程序 "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令 { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
F5 デバッグ開始F10 シングル ステップ スキップF11 シングル ステップ デバッグ シフト F11 シングルステップアウトctrl シフト F5 デバッグ再開shift F5 デバッグ停止
vscodeBasic Tutorial! を参照してください。
以上がvscodeでリモートgdbをデバッグするにはどうすればよいですか?詳しい方法の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。