问题:调试程序,遇到 访问寄存器所指的地址导致access violation?
之前调试,使用 'r @rip=0x****' 指令是有效的,但是突然遇到修改寄存器内容之后单步运行,寄存器的内容又还原了。widbg 输出:"This exception may be excepted and not handled",意思是windbg 捕获到了这个异常并且没有处理;然后导致程序一直卡在这里无法往下单步调试。
解决方法:
windbg中设置相应的地方即可:
1,在windbg 菜单栏中Debug单击,选中Event Filters

2,找到 Access Violation 项

每个项有两个配置:1,Execution 2,Continue。Access Violation 默认的两个配置是enabled 和Not Handled;这里需要把Not Handled 改为 Handled。
结果:

可以接着调试了。
在调试程序时遇到AccessViolation错误,导致调试无法继续。问题源于windbg对AccessViolation异常的默认处理方式。解决方法是在windbg中调整EventFilters设置,将AccessViolation项的NotHandled改为Handled,允许windbg捕获并处理该异常,从而能够继续单步调试。
9796

被折叠的 条评论
为什么被折叠?



