如何找出失败的断言的位置? (在Unity中调用debug-build DLL)

问题描述 投票:0回答:1

编写要从Unity3D使用的C ++ DLL。如果我将DLL作为发行版构建,则当前会出现一些未定义的行为废话。如果以调试形式进行构建,则会显示以下弹出窗口:

enter image description here

不幸的是,错误重定向到向量类中,而不是重定向到我自己的代码中实际使用的位置。我知道是什么DLL函数导致了这种情况,但是由于大量的矢量处理,我无法找出为什么会发生这种情况。我确实怀疑某些多线程问题。

但是我如何找出哪条特定线,又是哪条断言失败?我似乎无法使用try-catch块捕获断言。

非常感谢:)

c++ unity3d vector assert
1个回答
0
投票

结果是可以调试带有附加DLL的Unity编辑器整体。

  1. 找出实际编辑器的位置(在Unity Hub的安装选项卡的右键单击菜单中]
  2. 使用Visual Studio打开该EXE(实际上是“打开项目”选择)
  3. 转到解决方案属性->参数并添加:-projectPath“ PATH_TO_YOUR_UNITY_PROJECT_DIRECTORY”
  4. 调试->开始调试(或F5)
  5. 如果收到断言等,请单击“重试”。

第3步很重要,因为无论出于何种原因,如果Unity是作为调试启动的,则Unity不会显示“打开项目”选项,而是会自行关闭。这就是让我认为不支持外部调试的原因。

© www.soinside.com 2019 - 2024. All rights reserved.