未处理的异常:0x80000001:未实现。 (VC ++)

时间:2010-01-19 04:46:29

标签: c++ visual-c++ visual-studio-2005 exception

我正在使用MS Visual Studio 2005(C ++)..

有谁可以告诉我什么可能导致运行时异常,如此......?

  

yyy.exe中0x07ed0027(xxx.dll)的未处理异常:0x80000001:未实现。

xxx.dll是我正在研究的一个dll,yyy.exe是一个调用那个dll的exe ..当调试时出现未处理的异常时,它会把我带到一个函数但我看不出有什么问题使用该函数(每次调用此函数时都不会引发异常)。无论如何,我检查了函数中的所有值,它们似乎没问题。如果我点击继续而不是中断,或者在休息后按F5,那么它会继续发生,如果没有发生..请告诉我,如果我没有提供足够的信息..

感谢。

2 个答案:

答案 0 :(得分:5)

与更熟悉的0xC0000005一样,0x80000001是正在引发的异常的代码。您可以在winnt.h中查找它们。在这种情况下,我找到了#define STATUS_GUARD_PAGE_VIOLATION ((DWORD )0x80000001L)

Guard页面用于堆栈增长。堆栈顶部后面的第一页标记为保护页面。当您写入时 - 通常通过在堆栈上推送更多数据 - 会采取保护页面异常。操作系统分配一个额外的页面或RAM(或者可能是2 - 留给操作系统的详细信息)并移动防护页面。

答案 1 :(得分:1)

我认为异常过滤器可能会帮助您获取更多详细信息。

使用SetUnhandledExceptionFilter设置未处理的异常过滤器并检查抛出异常的异常位置。

相关问题