LONG WINAPI MyUnhandledExceptionFilter(PEXCEPTION_POINTERS p)
{
if(p->ExceptionRecord->ExceptionCode==EXCEPTION_ACCESS_VIOLATION){
if(p->ContextRecord->Eip==6F3A15FD){
p->ContextRecord->EFlags
}
如果在指定地址发生异常,我希望我的异常处理程序设置零标志;)
我该怎么做 p->ContextRecord->EFlags|=
?
另外,如果我在访问冲突后给出 EXCEPTION_CONTINUE_EXECUTION
是否有效? :D 而且,我是否必须包含 EIP,否则它会落在下一条指令上?
最佳答案
ZF
是 EFLAGS
的第 6 位, 所以 EFlags |= 1 << 6;
下载 Intel 或 AMD 的 CPU 手册。您会在那里找到所有这些信息。
关于c++ - 如何设置零标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10672360/