![](/img/trans.png)
[英]Embedded Mono: How to use 'mono_runtime_invoke' on different thread
[英]Mono c# embedding, mono_runtime_invoke crash app
我将Mono嵌入到我的c ++应用程序中。 而且我在mono_runtime_invoke()
方面遇到问题。
这是调用mono_runtime_invoke
的方法:
void CSScript::CallFunction(MonoMethod * function, void ** parameter)
{
inside_function = true;
MonoObject* exception = nullptr;
MonoObject* obj = mono_runtime_invoke(function, mono_object, parameter, &exception);
if (exception)
{
mono_print_unhandled_exception(exception);
}
}
//---------------------
CallFunction(start, nullptr);
这就是我正在调用的c#函数(Start()):
public class Nngf
{
void Start ()
{
GameObject go = null;
go.SetName("Hi!");
}
}
如您所见,Start方法正在从一个空类(Gameobject)中调用一个方法(SetName),我应该在c ++ CallFunction()方法中得到一个NullReference异常。 但是,应用程序崩溃了:
我已经在Unity中测试了c#脚本,但遇到了NullReference错误。
我需要做什么? 我想念什么吗?
解决了。 我只需要取消激活“抛出此异常时中断”选项,然后应用程序继续运行,我可以获得异常消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.