mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-22 00:12:34 +00:00
Merge branch 'main' into fix/clang-cl-windows-support
This commit is contained in:
@@ -357,6 +357,12 @@ void CBaseException::ShowRegistorInformation(PCONTEXT pCtx)
|
||||
OutputString(_T("SS:RSP:%04X:%016llX RBP:%016llX\r\n"), pCtx->SegSs, pCtx->Rsp, pCtx->Rbp);
|
||||
OutputString(_T("DS:%04X ES:%04X FS:%04X GS:%04X\r\n"), pCtx->SegDs, pCtx->SegEs, pCtx->SegFs, pCtx->SegGs);
|
||||
OutputString(_T("Flags:%08X\r\n"), pCtx->EFlags);
|
||||
#elif defined(_M_ARM64)
|
||||
OutputString(_T("\nRegisters:\r\n"));
|
||||
OutputString(_T("PC:%016llX SP:%016llX FP:%016llX LR:%016llX\r\n"),
|
||||
(unsigned long long)pCtx->Pc, (unsigned long long)pCtx->Sp,
|
||||
(unsigned long long)pCtx->Fp, (unsigned long long)pCtx->Lr);
|
||||
OutputString(_T("Cpsr:%08X\r\n"), pCtx->Cpsr);
|
||||
#endif
|
||||
|
||||
OutputString( _T("\r\n") );
|
||||
@@ -380,7 +386,11 @@ void CBaseException::ShowExceptionInformation()
|
||||
OutputString(_T("Param %d :0x%x \n"), i, m_pEp->ExceptionRecord->ExceptionInformation[i]);
|
||||
}
|
||||
OutputString(_T("Context :%p \n"), m_pEp->ContextRecord);
|
||||
#if defined(_M_ARM64)
|
||||
OutputString(_T("ContextFlag : 0x%x, Cpsr: 0x%x \n"), m_pEp->ContextRecord->ContextFlags, m_pEp->ContextRecord->Cpsr);
|
||||
#else
|
||||
OutputString(_T("ContextFlag : 0x%x, EFlags: 0x%x \n"), m_pEp->ContextRecord->ContextFlags, m_pEp->ContextRecord->EFlags);
|
||||
#endif
|
||||
|
||||
TCHAR szFaultingModule[MAX_PATH];
|
||||
DWORD section, offset;
|
||||
|
||||
@@ -95,6 +95,7 @@ int main(int argc, char* argv[])
|
||||
#endif
|
||||
("vendor,v", po::value<std::string>()->default_value(""), "Vendor name. Optional, all profiles present in the folder will be validated if not specified")
|
||||
("generate_presets,g", po::value<bool>()->default_value(false), "Generate user presets for mock test")
|
||||
("check_filament_subtypes,f", po::bool_switch()->default_value(false), "Also flag printers with duplicate (ambiguous) filament subtypes. Off unless this flag is present.")
|
||||
("log_level,l", po::value<int>()->default_value(2), "Log level. Optional, default is 2 (warning). Higher values produce more detailed logs.");
|
||||
// clang-format on
|
||||
|
||||
@@ -118,6 +119,7 @@ int main(int argc, char* argv[])
|
||||
std::string vendor = vm["vendor"].as<std::string>();
|
||||
int log_level = vm["log_level"].as<int>();
|
||||
bool generate_user_preset = vm["generate_presets"].as<bool>();
|
||||
bool check_filament_subtypes = vm["check_filament_subtypes"].as<bool>();
|
||||
|
||||
// check if path is valid, and return error if not
|
||||
if (!fs::exists(path) || !fs::is_directory(path)) {
|
||||
@@ -164,7 +166,7 @@ int main(int argc, char* argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (preset_bundle->has_errors()) {
|
||||
if (preset_bundle->has_errors(check_filament_subtypes)) {
|
||||
std::cout << "Validation failed" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -457,6 +457,15 @@ LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context)
|
||||
sf.AddrBStore.Mode = AddrModeFlat;
|
||||
sf.AddrStack.Offset = c.IntSp;
|
||||
sf.AddrStack.Mode = AddrModeFlat;
|
||||
// ARM64
|
||||
#elif defined(_M_ARM64)
|
||||
imageType = IMAGE_FILE_MACHINE_ARM64;
|
||||
sf.AddrPC.Offset = c.Pc;
|
||||
sf.AddrPC.Mode = AddrModeFlat;
|
||||
sf.AddrFrame.Offset = c.Fp;
|
||||
sf.AddrFrame.Mode = AddrModeFlat;
|
||||
sf.AddrStack.Offset = c.Sp;
|
||||
sf.AddrStack.Mode = AddrModeFlat;
|
||||
#else
|
||||
#error "Platform not supported!"
|
||||
#endif
|
||||
|
||||
@@ -350,7 +350,7 @@ fi
|
||||
|
||||
exec "\$@"
|
||||
EOF
|
||||
chmod ug+x "$LIBEXEC_DIR/@SLIC3R_APP_CMD@-env"
|
||||
chmod a+x "$LIBEXEC_DIR/@SLIC3R_APP_CMD@-env"
|
||||
|
||||
cat << EOF >@SLIC3R_APP_CMD@
|
||||
#!/bin/bash
|
||||
|
||||
Reference in New Issue
Block a user