emacs 裡使用 dap mode 來 debug 時設置的 breakpoint 無法中斷

我有一個 test.cpp 的檔案,我使用 g++ test.cpp -o test 輸出 binary 如下附圖所示, 在執行 dap-debug 的時候,我的程式可以順利執行 (如下圖右側的執行結果),但是設置的斷點 (如下圖左側) 在執行時並不會停在該處。請問各位高手是否知道如何解決

然後同目錄下我的 launch.json 如下,在執行 dap-debug 時,可以選擇到正確的 template:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debuggging Test",
            "type": "cppdbg"
            "request": "launch",
            "program": "${workspaceFolder}/test",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb"
        }
    ]
}

我的系統: ubuntu 18.04 + spacemacs

我發現是我在編輯的時候,少了一個 flag,意即: g++ -g test.cpp -o test 即可解決

ref: VS code is ignoring the breakpoint in c++ debugging - Stack Overflow