// Format is undefined only for use as a string for reporting
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal static extern string GetDisplayName ();
+
+ [MethodImplAttribute (MethodImplOptions.InternalCall)]
+ public static extern string GetNativeStackTrace (Exception exception);
+
}
}
#endif
}
+MonoString *
+ves_icall_Mono_Runtime_GetNativeStackTrace (MonoException *exc)
+{
+ char *trace;
+ MonoString *res;
+ if (!exc)
+ mono_raise_exception (mono_get_exception_argument_null ("exception"));
+
+ trace = mono_exception_get_native_backtrace (exc);
+ res = mono_string_new (mono_domain_get (), trace);
+ g_free (trace);
+ return res;
+}
ICALL_TYPE(RUNTIME, "Mono.Runtime", RUNTIME_1)
ICALL(RUNTIME_1, "GetDisplayName", ves_icall_Mono_Runtime_GetDisplayName)
+ICALL(RUNTIME_12, "GetNativeStackTrace", ves_icall_Mono_Runtime_GetNativeStackTrace)
#ifndef PLATFORM_RO_FS
ICALL_TYPE(KPAIR, "Mono.Security.Cryptography.KeyPairPersistence", KPAIR_1)
char *
mono_exception_get_native_backtrace (MonoException *exc) MONO_INTERNAL;
+MonoString *
+ves_icall_Mono_Runtime_GetNativeStackTrace (MonoException *exc) MONO_INTERNAL;
+
#endif /* __MONO_OBJECT_INTERNALS_H__ */