[英]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.