使用 Mac,開始寫算法題,在 mac 上找不到什麼比較好的 debug 工具, lldb 雖然可以直接 debug,但是還是沒有 vscode 香。
本來開始按照官方教程 來做,但是使用無法從外界讀取到輸入,如果在程序裏指定好值可以 debug,但是無法從控制檯或者是文件輸入讀取到值。
這是 Mac Catalina 下好像纔會出現的問題,在其他平臺好像沒出現。
搜了很多資料,最後在這個 issue 下發現了遇到相同問題的人,最終解決,問題的關鍵就在於使用 CodeLLDB 插件代替 vscode 自帶的 lldb插件。
這裏只記錄解決問題的關鍵, c/c++ 的debug看官方教程。
-
下載 CodeLLDB 插件並且啓用
-
設定好
launch.json
和task.json
來進行構建和debug啓動。
配置如下,可以直接用:
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build with Clang",//這個任務的名字在launch.json最後一項配置
"type": "shell",
"command": "clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"${fileBasenameNoExtension}.cpp",
"-o",
"a.out",
"--debug"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/a.out",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "Build with Clang"
}
]
}
對於編譯後的名稱這些東西自己都可以改。
然後我們來看看從控制檯讀取輸入:
改成文件輸入也是沒有問題的。