GDB 调试器在使用单步执行后终止

问题描述 投票:0回答:1

我在 Windows 上使用 Visual Studio Code (1.93.1) 以及 GDB 调试器 (15.1) 和 g++ 编译器 (14.2.0)。 每当我使用断点并尝试单击单步按钮时,调试器都会停止工作,但不会终止(有一个 gif 解释了下面发生的情况) 对于上下文,这是我的tasks.json:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\msys64\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

launch.json:

{
    "configurations": [
        {
            "name": "C/C++: g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/msys64/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ],
    "version": "2.0.0"
}

gif

我多次尝试重新安装编译器和调试器,但没有成功,除了此功能之外,调试器中的所有内容都可以工作。

visual-studio-code gdb
1个回答
0
投票

根据我的经验,如果出现段错误,有时会发生这种情况。您是否可能正在访问已释放的内存或尝试取消引用某些空值?我没有 VSCode 调试经验,但在其他 IDE 中我经常发生这种情况(使用 GDB )。

© www.soinside.com 2019 - 2024. All rights reserved.