【问题标题】:Mono c# embedding, mono_runtime_invoke crash appMono c# 嵌入,mono_runtime_invoke 崩溃应用
【发布时间】: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 错误。

我需要做什么?我错过了什么?

【问题讨论】:

    标签: c# c++ mono nullreferenceexception


    【解决方案1】:

    解决了。我只需要停用“抛出此异常时中断”选项,然后应用程序继续运行,我就可以收到异常消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多