Mono c# 嵌入,mono_runtime_invoke 崩溃应用
Posted
技术标签:
【中文标题】Mono c# 嵌入,mono_runtime_invoke 崩溃应用【英文标题】:Mono c# embedding, mono_runtime_invoke crash app 【发布时间】:2017-12-02 03:41:46 【问题描述】:我正在将 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 方法正在从 null 类 (Gameobject) 调用方法 (SetName),我应该在 c++ CallFunction() 方法中得到 NullReference 异常。但相反,应用程序崩溃了:
我已经在 Unity 中测试了 c# 脚本,但出现 NullReference 错误。
我需要做什么?我错过了什么?
【问题讨论】:
【参考方案1】:解决了。我只需要停用“抛出此异常时中断”选项,然后应用程序继续运行,我就可以收到异常消息。
【讨论】:
以上是关于Mono c# 嵌入,mono_runtime_invoke 崩溃应用的主要内容,如果未能解决你的问题,请参考以下文章