VS Code C/C++のデバッグでハマった
macOS CatalinaでVS Codeを使ってC/C++のデバッグをしようとしたら、ブレークポイント設定してもちゃんと停止してくれなかったので、その時の対処法をメモしておく。
デバッグ環境
Microsoft C/C++ for Visual Studio Code Extension
問題
- ブレークポイントを貼る

- debug開始する

- ブレークで停止せずにプログラムが終了する
DEBUG CONSOLE
=thread-selected,id="1"
@"hello world\r\n"
The program '/Users/MyHome/gitlab/pazdora/a.out' has exited with code 0 (0x00000000).
解決方法
以下に対処法があった
[GitHub : Can't debug on macOS Catalina (LLDB) #3829] (https://github.com/microsoft/vscode-cpptools/issues/3829)
macOS Catalinaでのバグらしいが、EXTENSIONSのCodeLLDB使えばOKとのことらしい。
設定
- EXTENSIONSのCodeLLDBをインストールする

- launch.jsonの"type"を"cppdbg" -> "lldb"に変える
launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) 起動",
- "type": "cppdbg",
+ "type": "lldb,
"request": "launch",
"targetArchitecture": "x86_64",
"program": "${workspaceFolder}/a.out",
"args": [],
"stopAtEntry":true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb"
}
]
}
確認
- Buildする(cmd + shift + b)
- Debugモード(cmd + shift + d)
- 上記と同じようにブレーク貼ってrun
- ブレークできることを確認
