VSCode / MinGW-w64: Как остановить отладчик GDB на точке останова внутри DLL? - PullRequest
0 голосов
/ 24 апреля 2020

Мы разрабатываем библиотеку Win64 DLL, используя набор инструментов G CC (MinGW-w64) в версии 4.8.3. В качестве IDE мы используем VisualStudio Code (версия 1.44.2) с плагином IntelliSense C / C ++, отладкой и просмотром кода от Microsoft (версия 0.27.0).

К сожалению, мы не можем устанавливать какие-либо точки останова внутри нашей DLL.

Ситуация такая же, если мы подключаем DLL в нашем TestApplication статически или динамически с помощью LoadLibrary.

Запуск GDB как консольный процесс позволяет нам устанавливать точку останова в DLL и останавливаться на этой строке, но мы упускаем удобство IDE. Я предполагаю, что есть проблема в конфигурации проекта VSCode или в плагине C / C ++.

Мы используем следующий запуск. json file:

    "version": "0.2.0",
    "configurations": [

    {
        "name": "gcc.exe build and debug active file",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/Win64/TestApplication.exe",
        "args": [],
        "stopAtEntry": true,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "miDebuggerPath": "${workspaceFolder}/minGW-w64/bin/gdb.exe",
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": false
            }
        ],
        "preLaunchTask": "build-all",
        "avoidWindowsConsoleRedirection": true,
        "logging": {
            "trace": false,
            "traceResponse": false,
            "engineLogging": true
        }
     }
  ]
}

Кто-нибудь может отладить Win64 DLL с помощью того же набора инструментов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...