目次
Linuxシステムでは、C / C ++デバッグは通常gdbを使用しますが、gdbの使用はそれほど直感的ではなく、覚えておくべきコマンドがたくさんあります。この記事では、C / C ++プログラムをデバッグするためのVSCodeを紹介します。これは非常に便利なエディターです。
1つは、VSCodeプラグインをインストールする
1.1中国語のプラグインをインストールする
次の図に示すように、VSCodeを開き、言語プラグインをVSCodeにインストールし、左側の<Extensions>をクリックして中国語を入力し、[Install]をクリックします。
1.2 C / C ++プラグインをインストールする
次の図に示すように、拡張機能でCと入力し、C / C ++インストールを選択します。
2.Linuxにソフトウェアパッケージをインストールします
2.1 gcc-c ++をインストールします
この記事では、LinuxはCentOS 8を使用し、gcc-c ++をインストールして、次のコマンドを実行します。
[root@bogon debug-C++]# yum install gcc-c++
2.2gdbをインストールする
gdbはバックグラウンドで使用されるため、次のようにgdbをインストールします。
[root@bogon debug-C++]# yum install gdb
3、VSCodeを構成します
3.1コンパイル構成
次の図に示すように、メニューバーの<ターミナル>、<構成タスク>、<テンプレートを使用してtasks.json>、<その他>をクリックします。
tasks.jsonのjson構成ファイルが表示されます。tasks.jsonを再構成すると、次のようになります。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "debug-C++", // 任务名称
"type": "shell", // 表示使用 shell 命令执行
"command": "g++", // 实际执行的命令
"args": [ // 实际执行命令的参数,使用逗号分隔
"-g", // -g 参数表示添加 debug 信息
"-o", // -o 指定输出文件名称
"main", // 输出文件名称
"main.cpp" // 源文件
]
}
]
}
追加が完了すると、次の図に示すように、左側のエクスプローラーセクションの「.vscode」ディレクトリに追加のファイルtasks.jsonがあることがわかります。
3.2デバッグ構成
次の図に示すように、メニューバーの<Terminal>、<Add Configuration>、<C ++(GDB / LLDB)>をクリックします。
PS:次のエラーが発生した場合は、まずデバッグ情報を含む実行可能ファイルを生成し、マウスを使用して実行可能ファイルを選択してから実行します。
Cannot read property 'includes' of undefined
次に、再構成後、次のようにファイルlaunch.jsonファイルが表示されます。
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "debuge test", // 名称
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main", //可执行文件的位置 ${workspaceFolder}:当前目录
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "debug-C++" // 重要:在调试之前启动的任务名称
}
]
}
上記の構成が完了すると、すべての構成作業が完了します。
4、デバッグ
4.1コードの記述
以下のように、意図的にもう少し複雑に書かれています。
#include <iostream>
using namespace std;
void function1(int i, int j) {
cout<<"function1"<<endl;
cout<<"i = "<<i<<" j = "<<j<<endl;
}
int main() {
int i = 1;
int j = 2;
function1(i, j);
cout<<"Hello, World!"<<endl;
i = 3;
j = 5;
function1(i, j);
cout<<"Hello, World!"<<endl;
return 0;
}
4.2デバッグ
次の図に示すように、F5をクリックします(またはメニューバーの<実行>、<デバッグの開始>をクリックします)。
その中で、変数、モニター、コールスタック、およびブレークポイントを左側に表示でき、右側の水平バーのボタンは、[続行]、[ステップオーバー]、[ステップデバッグ]、[ステップアウト]、[再起動]、および[停止]です。
五数要約
上記の手順の後、VSCodeを介してC / C ++プログラムをデバッグできます。今すぐお試しください。
6.参照リンク
[1] https://code.visualstudio.com/docs/editor/tasks#vscode
[2] https://code.visualstudio.com/docs/editor/debugging#_launch-configurations