gdb インストール
gdb が入っていないと思うので、インストールします。
sudo apt install -y gdb
タスクの追加
デバッグ前にビルドと server.lock
ファイルを削除するタスクを .vscode/tasks.json
に追加します。
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "Symbol 構成",
"command": "ninja publish",
"options": {
"cwd": "${workspaceFolder}/build"
},
"dependsOn": [
"CMake: 構成"
],
"problemMatcher": [],
"detail": "ビルド前の `ninja publish` コマンド"
},
{
"type": "shell",
"label": "CMake: デバッグ前ビルド",
"command": "rm -rf server.lock",
"options": {
"cwd": "${workspaceFolder}/build/data"
},
"dependsOn": [
"CMake: ビルド"
],
"problemMatcher": [],
"detail": "デバッグ前の server.lock 削除"
},
]
}
デバッグ構成の作成
.vscode/launch.json
を作成します。
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Symbol サーバー デバッグ",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/build/bin/catapult.server",
"args": [],
"environment": [],
"cwd": ".",
"stopAtEntry": false,
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "/usr/bin/gdb",
"preLaunchTask": "CMake: デバッグ前ビルド",
}
]
}
デバッグ
実行とデバッグから作成した構成を選択して、実行ボタンを押すとデバッグ実行出来ます。
ブレークポイントも機能します。
コメントを残す