2017-12-02 3 views
0

내 C++ 응용 프로그램에 Mono가 포함됩니다. 그리고 mono_runtime_invoke()에 문제가 있습니다. 여기Mono C# 포함, 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#을 연료 소모량 : 당신이 볼 수 있듯이

public class Nngf 
{ 
    void Start() 
    { 
     GameObject go = null; 
     go.SetName("Hi!"); 
    } 
} 

가 시작 방법은 다음

mono_runtime_invoke를 호출하는 방법 null 클래스 (GameObject)에서 메서드 (SetName)를 호출하면 C++ CallFunction() 메서드에서 NullReference 예외가 발생합니다. 하지만 그 대신, 응용 프로그램 충돌 : 나는 유니티에서 C#을 스크립트를 테스트 한 나는 NullReference 오류를 받고 있어요

enter image description here

.

내가해야 할 일은 무엇입니까? 내가 뭔가 빠졌어?

답변

0

해결되었습니다. 방금 "이 예외가 발생했을 때 중단"옵션을 비활성화하고 응용 프로그램이 계속 실행되고 예외 메시지가 표시 될 수 있습니다.