2

I need to analyze a crash dump which reports an unhandled exception triggered by the AppVerif application. Usually the Application Verifier send an exception when a problem is detected in one of the checks flagged in the UI (heap, handle and leak error /problems).

Usually when I open the crash dump in Visual Studio I see in the Output panel a meaningful message like "A heap allocation was leaked" or "Critical section not initialized". Now I only get this:

0xC0000421: Application verifier has found an error in the current process (parameters: 0x32725641, 0x00000013, 0x00000030, 0x012A9705, 0x2668F0A0, 0x2668F0F0)

And the call stack only shows _VerifierStopMessage@40 and one of my function which call EnterCriticalSection but apparently the handle of the mutex is correctly initialized.

I suppose the value 40, 0x00000013 or 0x00000030 should be error codes while the other are memory addresses. However I can't figure out what is the specific problem reported by the Application Verifier.

Is there a list of error codes for the Application Verifier ? How can I have a better understanding of the reported error ?

4

1 回答 1

0

40 是VerifierStopMessage函数的名称修改,丢弃它。

我认为0x00000013是实际的停止代码。在 Application Verifier UI 中按 F1 并查找 0013。

根据它解释其余的:

当前堆栈跟踪的第一次机会访问冲突。

0x00000030 - 无效地址导致异常

0x012A9705 - 执行无效访问的代码地址

0x2668F0A0 - 异常记录。上下文记录

0x2668F0F0 - 上下文记录

0x30 指针似乎是从空指针的一个小偏移量。

显然,即使没有应用程序验证程序,您也可能发生访问冲突,尽管有更熟悉的 0xC0000005 异常。

于 2021-11-24T18:12:29.503 回答