1

我正在尝试使用 windbg 和 vmware 进行内核调试。当我尝试为自己的驱动程序指定断点时,我得到了类似的输出

Access violation - code c0000005 (!!! second chance !!!)
nt!MmFreePagesFromMdl+0xc:
82879761 f6430601        test    byte ptr [ebx+6],1

这是什么?

4

1 回答 1

10

那是访问冲突,即您的代码尝试访问无效的内存地址,即异常代码 0xC0000005。

第二个机会部分是调试器术语。每次抛出异常时,它都会向调试器发出信号(如果存在),以防它想要做某事:这是第一次机会。如果调试器什么都不做,异常就会传递给应用程序,或者在你的情况下传递给内核。如果应用程序没有处理它,异常会再次传递给调试器:这是第二次机会

通常,调试器会忽略第一次机会,但会在第二次机会时中断,但通常两者都有一个调试器选项。

于 2013-04-14T08:41:50.373 回答