c# - 调试从C++调用的C#dll(已嵌入Mono)

标签 c# c++ mono cppsharp

我有一个用C++编写的运行时(嵌入了Mono),它使用mono_jit_execmono_runtime_invoke调用用C#编写的dll中的函数。粘合代码是使用CppSharp生成的-在这里我不认为这是相关的,只是提及。
到目前为止一切顺利,我可以双向交流。
我现在想要的是仅使用Visual Studio调试C#代码(我在macOS上使用的是2019版)。因此,在我的C#项目中,我转到“运行配置”并选择了指向我的C++程序集的“启动外部程序”选项。之后,我设置了一些断点,但是当我在Debug模式下运行C#项目时,它们永远不会触发。
为什么不起作用-还需要做其他事情吗?是因为参与了Mono吗?

最佳答案

好的,所以答案是当前不支持。
一种解决方法是使用Visual Studio或Visual Studio Code的插件Unity does进行远程调试。
一个可用的扩展名是VS Code Mono Debug,它基于SDB: Mono Soft Debugger Client

关于c# - 调试从C++调用的C#dll(已嵌入Mono),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63021685/

相关文章:

c# - 正则表达式匹配点分隔列表,末尾没有点,并允许末尾有星号

c# - 使用 BinaryFormatter 附加到文件

c++ - 为什么 CMake 从 g++ 命令行跳过 -I 标志

c++ - 具有堆和映射等效功能的数据结构

linux - 单声道返回代码 249 是什么意思?

c# - 无法使用 Mono 创建/修改 gif

c# - 访问 ANTLR 4 中的 channel 并分别解析它们

c# - 打开多个文件(OpenFileDialog,C#)

c++ - 是否需要 "do {...} while ( )"循环?

windows - 在 Windows 上构建 MonoDevelop 7.2.x 失败