对的,SEH, VEH类似,上面Dll采用 VEH+回调算出错误点的当前Eip地址(指针),通过当前EIP(32位),Hook计算该Eip指令所占用的长度(汇编指令长度)作为下一个忽略执行Eip起始点.
declare HookError in myErr.dll integer
HookError(1) &&开启后,要求主程序要写的很标准,一些小问题可能也会报出来(用来编译发布前的测试)写在load里面,一次加载即可
*!*模拟C5错误,正常情况主程序崩溃
FOR i=1 TO 15
SYS(1079,1) &&通过HookError后,现在机会忽略处理,乘机"忽略"错误保存,再退出来查原因.
ENDFOR
*!* release
HookError(0)
错误处理.rar
(60.16 KB)
declare HookError in myErr.dll integer
HookError(1) &&开启后,要求主程序要写的很标准,一些小问题可能也会报出来(用来编译发布前的测试)写在load里面,一次加载即可
*!*模拟C5错误,正常情况主程序崩溃
FOR i=1 TO 15
SYS(1079,1) &&通过HookError后,现在机会忽略处理,乘机"忽略"错误保存,再退出来查原因.
ENDFOR
*!* release
HookError(0)
[此贴子已经被作者于2022-1-27 17:57编辑过]