Answer a question

I am trying to enable pretty printing for C++ in Visual Studio Code using MinGW GDB python debugger.

I followed steps described here under the "This is for MinGW users with Eclipse CDT" heading, but when I try to start the debugger with "externalConsole": true I get the following logging output in the debug console:

1: (189) LaunchOptions{"name":"g++.exe - Build and debug active file","type":"cppdbg","request":"launch","program":"c:\\Users\\Ben Wilson\\Documents\\Scripts\\CodingChallenges\\movie.exe","args":[],"stopAtEntry":false,"cwd":"C:\\Users\\Ben Wilson\\Documents\\Scripts\\CodingChallenges","environment":[],"externalConsole":true,"MIMode":"gdb","miDebuggerPath":"C:\\MinGW\\bin\\gdb-python27.exe","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}],"preLaunchTask":"C/C++: g++.exe build active file","logging":{"engineLogging":true},"__configurationTarget":5,"__sessionId":"c62bc9d3-8c55-4dfb-b413-c91d22f3232e"}
1: (315) Starting: "C:\MinGW\bin\gdb-python27.exe" --interpreter=mi -x "C:\Users\Ben Wilson\Documents\Scripts\CodingChallenges\.gdbinit"
1: (328) DebuggerPid=11376
1: (391) "C:\MinGW\bin\gdb-python27.exe" exited with code -1073741515 (0xC0000135).
Starting: "C:\MinGW\bin\gdb-python27.exe" --interpreter=mi -x "C:\Users\Ben Wilson\Documents\Scripts\CodingChallenges\.gdbinit"
"C:\MinGW\bin\gdb-python27.exe" exited with code -1073741515 (0xC0000135).

1: (407) Send Event AD7MessageEvent
1: (408) <-logout

I tried setting "externalConsole": false, and I get this output to the debug console:

1: (123) LaunchOptions{"name":"g++.exe - Build and debug active file","type":"cppdbg","request":"launch","program":"c:\\Users\\Ben Wilson\\Documents\\Scripts\\CodingChallenges\\movie.exe","args":[],"stopAtEntry":false,"cwd":"C:\\Users\\Ben Wilson\\Documents\\Scripts\\CodingChallenges","environment":[],"externalConsole":false,"MIMode":"gdb","miDebuggerPath":"C:\\MinGW\\bin\\gdb-python27.exe","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}],"preLaunchTask":"C/C++: g++.exe build active file","logging":{"engineLogging":true},"__configurationTarget":5,"__sessionId":"cfbd8955-0807-495d-8bfa-e06052797523"}
1: (225) Wait for connection completion.

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": "g++.exe - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\MinGW\\bin\\gdb-python27.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file",
            "logging": { "engineLogging": true }
        }
    ]
}

tasks.json

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

Also, running the gdb-python27 executable separately doesnt seem to do anything (unsure if this is expected behaviour)

C:\Users\Ben Wilson\Documents\Scripts\CodingChallenges>C:\MinGW\bin\gdb-python27.exe

C:\Users\Ben Wilson\Documents\Scripts\CodingChallenges>

Has anyone experienced this before or know what to do here?

Answers

Solution

Fixed issue by:

  1. Uninstalling mingw and installing mingw64 from this link
  2. Modifying miDebuggerPath in launch.json and command and cwd in tasks.json to match new file locations
  3. Adding new mingw64 bin location to PATH
  4. Modifying includePath and compilerPath in c_cpp_properties.json to match new file locations
Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐