关于C++标准异常之std::tr2::sys::filesystem_error
类 std::tr2::sys::filesystem_error 定义文件系统库中函数的抛出版重载所抛出的异常对象。
定义于头文件
<filesystem> windbg执行.cordll -ve -u -l报CLR DLL status: No load attempts原因之一今天在分析一个dmp时,要看CLR栈,习惯性输入.cordll -ve -u -l指令来加载sos扩展,结果报如下错误: CLR DLL status: No load attempts 核对sos.dll版本后,发现版本是对的。突然想起上次执行.loadby sos clrjit报错(参考The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos) failed, Win32 error 0n193 "%1 不是有效的 Win32 应用程序。"),心想是不是同样的原因呢,看下Windbg标题栏,果然是同样的原因,用的是64位Windbg
赶紧输入.loadby sos clrjit,看看是不是会报上次同样的错误, 看来一定要细心,要不然会浪费时间。 关于C++ EH异常---MFC CMemoryExceptionMFC里的CMemoryException异常就是表示内存不足的情况。不需要或不可能进一步限定。内存异常由new自动抛出。例如,如果您使用malloc编写自己的内存函数,那么您将负责抛出内存异常。 不要直接使用此构造函数,而是调用全局函数AfxThrowMemoryException。此全局函数在内存不足的情况下可以成功,因为它在先前分配的内存中构造异常对象。 当我们在dum文件分析时,可以看到如下的异常信息: ExceptionAddress: 768c2552 (KERNELBASE!RaiseException+0x00000062) 此时,我们可以用!address -summary来查看进程内存使用情况在佐证 关于异常System.ComponentModel.Win32Exception什么是Win32Exception就是封装了Win32 Error Code的异常。也就是GetLastError返回的值。Win32错误代码在显示时从其数字表示形式转换为系统消息。使用NativeErrorCode访问与此异常关联的错误代码的数字表示形式 继承关系
|