如何在Visual Studio代码中启用混合模式调试? 我有一个C++的.NET核心Web应用程序,它使用C++代码进行某些操作。 此web应用程序正在Cent OS 8上运行。(我是一名Windows开发人员,第一次在Linux上工作,也是第一次在VSCode上工作)

如何在Visual Studio代码中启用混合模式调试? 我有一个C++的.NET核心Web应用程序,它使用C++代码进行某些操作。 此web应用程序正在Cent OS 8上运行。(我是一名Windows开发人员,第一次在Linux上工作,也是第一次在VSCode上工作),linux,asp.net-core,gcc,visual-studio-code,mixed-mode,Linux,Asp.net Core,Gcc,Visual Studio Code,Mixed Mode,我只能选择在CentOS中使用VSCode进行调试。我熟悉VS2019混合模式调试,但在VSCode中找不到该选项。它不支持吗? Json不允许添加“profiles”,这是VisualStudio2019中允许的,它启用了混合模式调试 我尝试的一个解决方法是为gdb设置Launch.json: "configurations": [ { "name": "(gdb) Attach",

我只能选择在CentOS中使用VSCode进行调试。我熟悉VS2019混合模式调试,但在VSCode中找不到该选项。它不支持吗? Json不允许添加“profiles”,这是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
               }
           ]
       }
在终端上运行ManagedCode.dll后,我会连接到“dotnet”应用程序,希望在非托管cpp文件(生成UnmanagedCode.so)中找到断点

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

但我仍然没有运气击中断点


我只是想在UnmanagedCode.so代码中找到断点。任何方式都是可以接受的。

更正:我使用了“(gdb)启动”而不是“(gdb)附加”,断点被击中了!但仍然不知道如何一次性调试托管代码和非托管代码。您是否发现了一些问题,或者您认为这是一个不可用的功能?我认为这是一个不可用的功能。必须分别调试这两个。