关于STATUS_STOWED_EXCEPTION(0xC000027B)异常

简介

STATUS_STOWED_EXCEPTION,值为0xC000027B。代表的意思是"发生应用程序内部异常"。它定义在 ntstatus.h头文件里,如下:

/
// MessageId: STATUS_STOWED_EXCEPTION
//
// MessageText:
//
// An application-internal exception has occurred.
//
#define STATUS_STOWED_EXCEPTION          ((NTSTATUS)0xC000027BL)

详细说明

本异常是UWP应用程序产生的异常类型。它是作为WinRT API(现在称为UWP)的一部分引入Windows 8.0的。这个异常已被故障点异常(0xC000027C)替换/增强。与POF异常一样,异常代码由WinRT框架生成。它不需要重新编译应用程序才能使用它。
当异步操作失败时,将引发这个异常。当通过RoOriginateException或RoOriginateLanguageException调用从工作线程报告异常时,将通过CaptureStackBackTrace函数调用收集当前线程的堆栈回溯(指令指针数组)。异常的堆栈回溯和HRESULT包装在一个iresteredrorinfo对象中,并通过WinRT的语言投影层路由到调用方。
如果调用方未处理异常,则会致命地抛出已装载的异常。因为抛出是延迟的,所以关联转储的当前上下文几乎没有值。原始问题的线程不再定期存在,如果存在,则已结束操作(意味着线程的堆栈内存已被覆盖)。这意味着函数参数和局部变量不可用。

异常结构信息填充

ExceptionAddress:

ExceptionCode: c000027b
ExceptionFlags: 00000001
NumberParameters: 2
Parameter[0]: 000002414ffc8680//是指向以STOWED_EXCEPTION_INFORMATION_HEADER开头的结构的指针数组的起始地址。自Windows 8.1以来,已使用的版本是STOWED_EXCEPTION_INFORMATION_V2。
Parameter[1]: 000000000000003//是数组中指针的数目

posted on 2020-03-19 11:55  活着的虫子  阅读(1486)  评论(0编辑  收藏  举报

导航