[英]Visual Studio Code: Attach to Unity process for debugging C++ based dll
我有一个 Unity 项目,它通过在单独项目中编译的 DLL 使用一些 C++ 代码。 我可以将 Visual Studio 代码调试器附加到我的 Unity 项目,以便我可以使用断点调试 DLL 的源代码吗?
以下是我到目前为止尝试过的一些事情:
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to process",
"type":"clr",
"request": "attach",
"processId": "${command:pickProcess}"
}]
}
--> 这应该允许我选择我想以交互方式连接的进程
my/path/to/Unity.exe
返回一个进程-> 附加似乎有效,但是当我“取消暂停”我的 Unity 游戏时它永远不会达到断点。我的launch.json错了吗?
一些附加信息:
sourceMap
,它将调试器定向到我的源文件的根目录。 不确定这里是否也需要类似的东西? 向前进
同时我重构了我的launch.json。 感谢评论,我假设"type": "clr"
代表公共语言运行时,它似乎用于调试脚本语言而不是 C/C++。 所以我把它改成了"type":"cppdbg"
。 通过 Msys2 安装 gdb 后,我在 launch.json 中引用了 gdb 的路径。 这是我的launch.json的更新版本:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to process",
"type":"cppdbg",
"request": "attach",
"processId": "${command:pickProcess}",
"program": "${workspaceRoot}/Packages/com.github.homuler.mediapipe/Runtime/Plugins/mediapipe_c.dll",
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
}]
}
剧透:它仍然无法正常工作,但在 VS Code 调试控制台/终端中,当我在 Unity 编辑器中启动游戏时,我看到了一些 output。 因此,至少 VS Code 和 Unity 之间似乎存在一些流量。
一个新问题:
虽然我无法找到 VS Code 的解决方案,但我找到了解决方案
解决方案大致是这样的
--> 游戏现在应该在到达断点时中断
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.