我开始为Unity和Unreal编写c ++中间件。现在,在macOS上,我想将LLDB附加到Unity沙箱项目的进程中,以便调试某些问题。我怎么能这样做?
我的中间件是作为macOS包构建的,并通过C#Unity脚本动态加载。
public class MyMiddleware
{
[DllImport("MyMiddleware")]
public static extern int SomeFailingFunction();
}
public class SomeBehaviour: MonoBehaviour
{
private void Start() {
MyMiddleware.SomeFailingFunction();
}
}
我在生成捆绑包时嵌入了调试信息。我想调试SomeFailingFunction
的C ++实现。
答案 0 :(得分:2)
看来我可以将LLDB附加到Unity的主要进程中,只要它不会干扰另一个调试器。在我的情况下,Unity崩溃了,因为我已经在使用Visual Studio的调试器了。
另请注意,当您忘记停止Visual Studio的调试器,使用LLDB,并且Unity崩溃时,重新启动Unity时场景并不总是正确加载。我通过文件管理器启动Unity,使用场景文件(在资产/场景中)。
我还不知道任何更清洁/更方便的方法。最好的方法是能够直接从Visual Studio的调试器中读取调试信息。