mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	fix build error
This commit is contained in:
		
							parent
							
								
									013e77aa6b
								
							
						
					
					
						commit
						7a53dd60f2
					
				
					 1 changed files with 23 additions and 22 deletions
				
			
		|  | @ -7,6 +7,7 @@ | |||
| #include <boost/filesystem/operations.hpp> | ||||
| #include <boost/log/trivial.hpp> | ||||
| #include <boost/format.hpp> | ||||
| #include <mutex> | ||||
| 
 | ||||
| static std::string g_log_folder; | ||||
| static std::atomic<int> g_crash_log_count = 0; | ||||
|  | @ -104,127 +105,127 @@ void CBaseException::ShowExceptionResoult(DWORD dwExceptionCode) | |||
| 	{ | ||||
| 	case EXCEPTION_ACCESS_VIOLATION: | ||||
| 		{ | ||||
| 			//OutputString(_T("ACCESS_VIOLATION(%s)\r\n"), _T("读写非法内存"));
 | ||||
| 			//OutputString(_T("ACCESS_VIOLATION(%s)\r\n"), _T("<EFBFBD><EFBFBD>д<EFBFBD>Ƿ<EFBFBD><EFBFBD>ڴ<EFBFBD>"));
 | ||||
| 			OutputString(_T("ACCESS_VIOLATION\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_DATATYPE_MISALIGNMENT: | ||||
| 		{ | ||||
| 			//OutputString(_T("DATATYPE_MISALIGNMENT(%s)\r\n"), _T("线程视图在不支持对齐的硬件上读写未对齐的数据"));
 | ||||
| 			//OutputString(_T("DATATYPE_MISALIGNMENT(%s)\r\n"), _T("<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ڲ<EFBFBD>֧<EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>дδ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("DATATYPE_MISALIGNMENT\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_BREAKPOINT: | ||||
| 		{ | ||||
| 			//OutputString(_T("BREAKPOINT(%s)\r\n"), _T("遇到一个断点"));
 | ||||
| 			//OutputString(_T("BREAKPOINT(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>"));
 | ||||
| 			OutputString(_T("BREAKPOINT\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_SINGLE_STEP: | ||||
| 		{ | ||||
| 			//OutputString(_T("SINGLE_STEP(%s)\r\n"), _T("单步")); //一般是发生在调试事件中
 | ||||
| 			//OutputString(_T("SINGLE_STEP(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")); //һ<><D2BB><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
 | ||||
| 			OutputString(_T("SINGLE_STEP\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: | ||||
| 		{ | ||||
| 			//OutputString(_T("ARRAY_BOUNDS_EXCEEDED(%s)\r\n"), _T("数组访问越界"));
 | ||||
| 			//OutputString(_T("ARRAY_BOUNDS_EXCEEDED(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("ARRAY_BOUNDS_EXCEEDED\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_DENORMAL_OPERAND: | ||||
| 		{ | ||||
| 			//OutputString(_T("FLT_DENORMAL_OPERAND(%s)\r\n"), _T("浮点操作的一个操作数不正规,给定的浮点数无法表示")); //操作数的问题
 | ||||
| 			//OutputString(_T("FLT_DENORMAL_OPERAND(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ")); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | ||||
| 			OutputString(_T("FLT_DENORMAL_OPERAND\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_DIVIDE_BY_ZERO: | ||||
| 		{ | ||||
| 			//OutputString(_T("FLT_DIVIDE_BY_ZERO(%s)\r\n"), _T("浮点数除0操作"));
 | ||||
| 			//OutputString(_T("FLT_DIVIDE_BY_ZERO(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("FLT_DIVIDE_BY_ZERO\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_INEXACT_RESULT: | ||||
| 		{ | ||||
| 			//OutputString(_T("FLT_INEXACT_RESULT(%s)\r\n"), _T("浮点数操作的结果无法表示")); //无法表示一般是数据太小,超过浮点数表示的范围, 计算之后产生的结果异常
 | ||||
| 			//OutputString(_T("FLT_INEXACT_RESULT(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ")); //<2F><EFBFBD><DEB7><EFBFBD>ʾһ<CABE><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫С<CCAB><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ķ<EFBFBD>Χ, <20><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>쳣
 | ||||
| 			OutputString(_T("FLT_INEXACT_RESULT\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_INVALID_OPERATION: | ||||
| 		{ | ||||
| 			//OutputString(_T("FLT_INVALID_OPERATION(%s)\r\n"), _T("其他浮点数异常"));
 | ||||
| 			//OutputString(_T("FLT_INVALID_OPERATION(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣"));
 | ||||
| 			OutputString(_T("FLT_INVALID_OPERATION\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_OVERFLOW: | ||||
| 		{ | ||||
| 			//OutputString(_T("FLT_OVERFLOW(%s)\r\n"), _T("浮点操作的指数超过了相应类型的最大值"));
 | ||||
| 			//OutputString(_T("FLT_OVERFLOW(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ"));
 | ||||
| 			OutputString(_T("FLT_OVERFLOW\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_STACK_CHECK: | ||||
| 		{ | ||||
| 			//OutputString(_T("STACK_CHECK(%s)\r\n"), _T("栈越界或者栈向下溢出"));
 | ||||
| 			//OutputString(_T("STACK_CHECK(%s)\r\n"), _T("ջԽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("STACK_CHECK\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_INT_DIVIDE_BY_ZERO: | ||||
| 		{ | ||||
| 			//OutputString(_T("INT_DIVIDE_BY_ZERO(%s)\r\n"), _T("整数除0异常"));
 | ||||
| 			//OutputString(_T("INT_DIVIDE_BY_ZERO(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>쳣"));
 | ||||
| 			OutputString(_T("INT_DIVIDE_BY_ZERO\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_INVALID_HANDLE: | ||||
| 		{ | ||||
| 			//OutputString(_T("INVALID_HANDLE(%s)\r\n"), _T("句柄无效"));
 | ||||
| 			//OutputString(_T("INVALID_HANDLE(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч"));
 | ||||
| 			OutputString(_T("INVALID_HANDLE\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_PRIV_INSTRUCTION: | ||||
| 		{ | ||||
| 			//OutputString(_T("PRIV_INSTRUCTION(%s)\r\n"), _T("线程试图执行当前机器模式不支持的指令"));
 | ||||
| 			//OutputString(_T("PRIV_INSTRUCTION(%s)\r\n"), _T("<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>ͼִ<EFBFBD>е<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD>ָ<EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("PRIV_INSTRUCTION\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_IN_PAGE_ERROR: | ||||
| 		{ | ||||
| 			//OutputString(_T("IN_PAGE_ERROR(%s)\r\n"), _T("线程视图访问未加载的虚拟内存页或者不能加载的虚拟内存页"));
 | ||||
| 			//OutputString(_T("IN_PAGE_ERROR(%s)\r\n"), _T("<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ҳ"));
 | ||||
| 			OutputString(_T("IN_PAGE_ERROR\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_ILLEGAL_INSTRUCTION: | ||||
| 		{ | ||||
| 			//OutputString(_T("ILLEGAL_INSTRUCTION(%s)\r\n"), _T("线程视图执行无效指令"));
 | ||||
| 			//OutputString(_T("ILLEGAL_INSTRUCTION(%s)\r\n"), _T("<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>ͼִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чָ<EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("ILLEGAL_INSTRUCTION\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_NONCONTINUABLE_EXCEPTION: | ||||
| 		{ | ||||
| 			//OutputString(_T("NONCONTINUABLE_EXCEPTION(%s)\r\n"), _T("线程试图在一个不可继续执行的异常发生后继续执行"));
 | ||||
| 			//OutputString(_T("NONCONTINUABLE_EXCEPTION(%s)\r\n"), _T("<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("NONCONTINUABLE_EXCEPTION\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_STACK_OVERFLOW: | ||||
| 		{ | ||||
| 			//OutputString(_T("STACK_OVERFLOW(%s)\r\n"), _T("栈溢出"));
 | ||||
| 			//OutputString(_T("STACK_OVERFLOW(%s)\r\n"), _T("ջ<EFBFBD><EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("STACK_OVERFLOW\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_INVALID_DISPOSITION: | ||||
| 		{ | ||||
| 			//OutputString(_T("INVALID_DISPOSITION(%s)\r\n"), _T("异常处理程序给异常调度器返回了一个无效配置")); //使用高级语言编写的程序永远不会遇到这个异常
 | ||||
| 			//OutputString(_T("INVALID_DISPOSITION(%s)\r\n"), _T("<EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")); //ʹ<>ø<C3B8><DFBC><EFBFBD><EFBFBD>Ա<EFBFBD>д<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣
 | ||||
| 			OutputString(_T("INVALID_DISPOSITION\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_FLT_UNDERFLOW: | ||||
| 		{ | ||||
| 			//OutputString(_T("FLT_UNDERFLOW(%s)\r\n"), _T("浮点数操作的指数小于相应类型的最小值"));
 | ||||
| 			//OutputString(_T("FLT_UNDERFLOW(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>Сֵ"));
 | ||||
| 			OutputString(_T("FLT_UNDERFLOW\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
| 	case EXCEPTION_INT_OVERFLOW: | ||||
| 		{ | ||||
| 			//OutputString(_T("INT_OVERFLOW(%s)\r\n"), _T("整数操作越界"));
 | ||||
| 			//OutputString(_T("INT_OVERFLOW(%s)\r\n"), _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>"));
 | ||||
| 			OutputString(_T("INT_OVERFLOW\r\n")); | ||||
| 		} | ||||
| 		return ; | ||||
|  | @ -291,7 +292,7 @@ BOOL CBaseException::GetLogicalAddress( | |||
| 
 | ||||
| 	DWORD rva = (DWORD)addr - hMod; | ||||
| 
 | ||||
| 	//计算当前地址在第几个节
 | ||||
| 	//<EFBFBD><EFBFBD><EFBFBD>㵱ǰ<EFBFBD><EFBFBD>ַ<EFBFBD>ڵڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | ||||
| 	for (unsigned i = 0; i < pNtHdr->FileHeader.NumberOfSections; i++, pSection++ ) | ||||
| 	{ | ||||
| 		DWORD sectionStart = pSection->VirtualAddress; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 SoftFever
						SoftFever