gpt4 book ai didi

c# - 如何将 LLDB 附加到 C# .NET 进程并调试动态加载的 macOS 包?

转载 作者:搜寻专家 更新时间:2023-10-31 02:06:04 24 4
gpt4 key购买 nike

我已经开始为 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++ 实现。

最佳答案

看来我可以很好地将 LLDB 附加到 Unity 的主进程,只要它不干扰另一个调试器。就我而言,Unity 崩溃是因为我已经在使用 Visual Studio 的调试器。

另请注意,当您忘记停止 Visual Studio 的调试器、使用 LLDB 并且 Unity 崩溃时,您的场景在重新启动 Unity 时并不总是正确加载。我通过文件管理器和场景文件(在 Assets/Scenes 中)启动 Unity 来解决这个问题。

我还不知道有什么更清洁/更方便的方法。最好是能够直接从 Visual Studio 的调试器中读取调试信息。

关于c# - 如何将 LLDB 附加到 C# .NET 进程并调试动态加载的 macOS 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com