设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Windows – WinDbg中的“Break指令异常”是什么?(2)

发布时间:2021-01-04 08:41 所属栏目:117 来源:网络整理
导读:我也从google搜索关于中断和异常的东西,通常可以在以下条件下触发break指令异常: 1.硬编码中断请求,如:__asm int 3(ASM),System.Diagnostics.Debugger.Break(C#),DebugBreak()(WinAPI). 2.操作系统启用内存运行时

我也从google搜索关于中断和异常的东西,通常可以在以下条件下触发break指令异常:
1.硬编码中断请求,如:__asm int 3(ASM),System.Diagnostics.Debugger.Break(C#),DebugBreak()(WinAPI).
2.操作系统启用内存运行时检查,如应用程序验证程序可以在堆损坏后触发内存溢出.
3.编译器可以有一些配置来为未初始化的内存块和功能结束(空白区域,重新调试后)填充什么.例如,如果启用/ GZ,Microsoft VC编译器可以填写0xCC. 0xCC实际上是一个__asm int 3的操作码.所以如果一些错误导致应用程序运行到这样的块中,将触发一个断点.

正确?

如果是这样,我认为应用验证者应该是寻找根本原因的最佳选择.

为了将来参考,您的调试器没有使用正确的符号警告是因为您需要将Windows符号添加到Windbg符号路径.这是怎么做到的:

自动设置Microsoft符号服务器路径:

0:000> .symfix

或者,您可以指定从其下载符号的其他位置,例如:

0:000> .sympath+ c:\myproject

检查当前符号搜索路径:

0:000> .sympath

你应该看到这样的东西:

SRV**http://msdl.microsoft.com/download/symbols

重新加载符号:

0:000> .reload

然后,您将可以使用以下命令查看有关当前异常的信息:

0:000> !analyze -v

您应该看到类似于以下内容的行:

ExceptionCode: c0000005 (Access violation)

祝好运修错误!

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读