{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Chrome",
            "request": "launch",
            "type": "chrome",
            "url": "http://localhost:8080",
            "webRoot": "${workspaceFolder}"
        },
        {
            "name": "调试轮椅状态机",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/wheelchair_state_machine/wheelchair_state_machine_node",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "启用GDB整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "设置GDB在进入没有调试信息的函数时自动跳过",
                    "text": "set step-mode off",
                    "ignoreFailures": true
                },
                {
                    "description": "禁用源文件查找错误提示",
                    "text": "set source open off",
                    "ignoreFailures": true
                },
                {
                    "description": "设置反汇编风格",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                },
                {
                    "description": "设置当找不到源文件时继续执行",
                    "text": "set print source-filename off",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "编译轮椅状态机",
            "postDebugTask": "",
            "logging": {
                "engineLogging": false,
                "programOutput": true,
                "exceptions": true,
                "moduleLoad": false,
                "trace": false
            },
            "sourceFileMap": {
                "/workspace": "${workspaceFolder}",
                "/home/ros2_ws/src": "${workspaceFolder}"
            }
        },
        {
            "name": "带参数调试",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/wheelchair_state_machine/wheelchair_state_machine_node",
            "args": [
                "--ros-args",
                "-p",
                "low_battery_threshold:=25.0",
                "-p",
                "critical_battery_threshold:=15.0",
                "-p",
                "distance_threshold:=0.6",
                "-p",
                "fit_window_size:=15"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "启用GDB整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "设置跳过无调试信息的函数",
                    "text": "set step-mode off",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "编译轮椅状态机"
        },
        {
            "name": "附加到运行进程",
            "type": "cppdbg",
            "request": "attach",
            "program": "${workspaceFolder}/build/wheelchair_state_machine/wheelchair_state_machine_node",
            "processId": "${command:pickProcess}",
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "启用GDB整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}