如何在 Visual Studio Code 中启用混合模式调试?

Vai*_*akh 6 linux mixed-mode gcc visual-studio-code asp.net-core

我有一个 C#.NET Core Web 应用程序,它使用一些 C++ 代码来执行某些操作。这个 Web 应用程序在 Cent OS 8 上运行。(我是一名 Windows 开发人员,第一次在 Linux 上工作,所以使用 VSCode)

我只能选择在 CentOS 中使用 VSCode 进行调试。我熟悉 VS2019 混合模式调试,但我无法在 VSCode 中找到该选项。难道不支持吗?Launch.Json 不允许添加“配置文件”,而 VisualStudio2019 允许添加“配置文件”,从而启用了混合模式调试。

我尝试过的一项解决方法是为 gdb 设置 Launch.json:

   "configurations": [
       {
           "name": "(gdb) Attach",
           "type": "cppdbg",
           "request": "attach",
           "program": "${workspaceFolder}/CSharpCodeBinary/ManagedCode.dll",
           "processId": "${command:pickProcess}",
           "MIMode": "gdb",
           "setupCommands": [
               {
                   "description": "Enable pretty-printing for gdb",
                   "text": "-enable-pretty-printing",
                   "ignoreFailures": true
               }
           ]
       }
Run Code Online (Sandbox Code Playgroud)

在终端上运行 ManagedCode.dll 后,我会附加到“dotnet”应用程序,希望在非托管 cpp 文件(生成 UnmanagementCode.so)中获得断点命中。

“ManagedCode.dll”是 C# NetCore 程序集,它加载本机“UnmanagementCode.so”以访问非托管代码。我使用g++ -Og开关构建了“UnmanagedCode.so”来生成符号。

我仍然没有运气到达断点。

我只想以某种方式命中 UnmanagedCode.so 代码中的断点。任何方式都可以接受。