IsBadReadPtr|IsBadWritePtr调试崩溃

简介: 遇到一未找到必然出现条件的崩溃,不知道什么时候能触发崩溃,崩溃dump显示,试图访问了非法的内存或者写入了非法的内存 此时如下两个函数就比较有用了:   [cpp] view plaincopy   BOOL WINAPI IsBadReadPtr(     ...

遇到一未找到必然出现条件的崩溃,不知道什么时候能触发崩溃,崩溃dump显示,试图访问了非法的内存或者写入了非法的内存

此时如下两个函数就比较有用了:

 

[cpp]  view plain copy
 
  1. BOOL WINAPI IsBadReadPtr(  
  2.   __in  const VOID *lp,  
  3.   __in  UINT_PTR ucb  
  4. );  
  5.   
  6. BOOL WINAPI IsBadWritePtr(  
  7.   __in  LPVOID lp,  
  8.   __in  UINT_PTR ucb  
  9. );  


可以用这两个函数在崩溃附近的地方加上判断,附加进程打断点或者记日志,运行程序崩溃的时候会立马断下来,这是就很容易分析崩溃的原因了!

 

经验:不容易必然重现的崩溃,在分析dump毫无头绪的情况下,思路应该是,1>从dump与日志分析,努力寻找必然崩溃的条件,2,增加必然崩溃的代码,分析dump

目录
相关文章
|
Linux 数据处理
Linux命令scriptreplay的深入解析
`scriptreplay`是Linux工具,用于根据`script`命令记录的终端会话及时间戳重现实时操作。它精确重现用户输入,支持跨机器播放、速度调整,并可用于教学、回顾。通过`-t`指定时间日志,`-s`指定会话日志,`-d`调整播放速度。注意环境差异可能影响重放效果,最好在类似环境下使用。
|
Web App开发 缓存 搜索推荐
实用的Chrome浏览器命令
【5月更文挑战第6天】探索Chrome的隐藏命令行工具,提升浏览效率和解决问题。如`chrome://flags/`启用实验性功能,`chrome://net-internals/`进行网络诊断,`chrome://settings/content/`管理内容设置等。了解这些工具,可解决浏览器问题,优化隐私和性能,实现个性化设置。成为Chrome专家,让浏览体验更上一层楼。
461 0
|
存储 C++
C++ cin标准输入流,及获取多个输入的方法
在C++中,cin与流提取运算符>>配合使用,可以用于获取标准的输入,比如从键盘上获取输入。cin是C++标准库标准库iostream中的一个类实例。
298 1
|
存储 安全 Java
深入理解Java字节码与反编译技术
深入理解Java字节码与反编译技术
235 0
|
存储 安全 程序员
探秘C/C++动态内存分配:从必要性到经典问题剖析
探秘C/C++动态内存分配:从必要性到经典问题剖析
530 0
C++socket客户端select异步连接发送接收数据
C++socket客户端select异步连接发送接收数据
289 0
|
Java 容器
Java-查看JVM从哪个JAR包中加载指定类
Java-查看JVM从哪个JAR包中加载指定类
363 0
|
JSON 搜索推荐 网络协议
玩转curl指令—测试简单的HTTP接口
玩转curl指令—测试简单的HTTP接口
|
Java Shell Windows
双击运行 jar 文件
Windows 下设置双击打开 jar 文件
1846 0
双击运行 jar 文件