Print dotnet stack trace on veh error msgbox, and use precompiled headers.

This commit is contained in:
Soreepeong 2021-12-24 12:23:23 +09:00
parent 2c99778eeb
commit e64cc7e687
16 changed files with 298 additions and 170 deletions

View file

@ -72,7 +72,17 @@ bool CoreCLR::load_runtime(const std::wstring& runtime_config_path, const struct
hdt_load_assembly_and_get_function_pointer,
reinterpret_cast<void**>(&m_load_assembly_and_get_function_pointer_fptr));
if (result != 0 || m_load_assembly_and_get_function_pointer_fptr == nullptr)
if (result != 0 || m_load_assembly_and_get_function_pointer_fptr == nullptr) {
m_hostfxr_close_fptr(context);
return result;
}
result = m_hostfxr_get_runtime_delegate_fptr(
context,
hdt_get_function_pointer,
reinterpret_cast<void**>(&m_get_function_pointer_fptr));
if (result != 0 || m_get_function_pointer_fptr == nullptr)
{
m_hostfxr_close_fptr(context);
return result;
@ -99,6 +109,22 @@ int CoreCLR::load_assembly_and_get_function_pointer(
return result;
};
int CoreCLR::get_function_pointer(
const wchar_t* type_name,
const wchar_t* method_name,
const wchar_t* delegate_type_name,
void* load_context,
void* reserved,
void** delegate) const
{
int result = m_get_function_pointer_fptr(type_name, method_name, delegate_type_name, load_context, reserved, delegate);
if (result != 0)
delegate = nullptr;
return result;
}
/* Helpers */
uint64_t CoreCLR::load_library(const wchar_t* path)
{