C++程序调试和异常调查实战分享
文章平均质量分 72
近几年调试和调查C++软件异常的实践与经验,详细讲述了调查过程和期间用到的工具和方法。共享给大家,欢迎交流。
小飞1116
这个作者很懒,什么都没留下…
展开
-
C++程序中dump文件生成方法详解
最近项目中新作成了一个动态链接库,长时间运行后,偶尔会崩溃。根据log分析,被调用的动态库函数最外层catch到了这个异常,但是不能定位哪里出了问题。另外虽然上层exe是有dump文件输出处理的,但是在C++中,如果异常被捕获并处理的情况下,系统就不会生成dump文件了。如果仍希望在try-catch块中捕获异常的同时生成dump文件,就必须在catch块中手动调用生成dump文件的函数。这样可以在异常被捕获后仍然生成dump文件以供后续分析。本文详细介绍下怎么生成dump文件。原创 2023-11-23 18:49:22 · 1796 阅读 · 0 评论 -
Unicode编码的四字节字符的判断方法
uff-16存储的4字节字符的判断方法原创 2020-10-20 15:16:16 · 747 阅读 · 0 评论 -
.Net 与TLS版本的兼容性
.NET 在支持 TLS 1.1 或 TLS 1.2 操作系统中运行时,兼容最新版本.NET 4.6 和更高版本 兼容 TLS 1.1 或更高版本(默认设置)。.NET 4.5 至 4.5.2 默认情况下,.NET 4.5、4.5.1 和 4.5.2 场合, TLS 1.1 和 TLS1.2有效,共有两个选项以进行启用,如下所述。选项 1: 通过设置 System.Net.ServicePo原创 2016-08-26 16:28:27 · 8020 阅读 · 1 评论 -
64位进程和32位进程通信问题,接收方接收到的数据错误
64位程序向32位程序发送一个WM_COPYDATA消息, 发现传递的数据和收到的数据不一致原创 2017-01-10 17:30:19 · 5999 阅读 · 1 评论 -
调试C++托管进程(clr)不能命中断点或不能查看变量在堆栈中的值
C++程序调用托管进程,在C++程序或者托管进程中打断点debug调试,有可能出现断点不能命中,或者不能实时查看变量在堆栈的值。原创 2020-04-10 13:06:15 · 496 阅读 · 0 评论 -
通过GFlags工具来复现因为野指针、内存越界等造成的程序崩溃
通过GFlags工具来复现因为野指针、内存越界等造成的程序崩溃原创 2023-11-06 17:21:43 · 472 阅读 · 0 评论 -
C++程序崩溃时,使用Windbg静态分析dump文件
C++程序崩溃时,使用Windbg静态分析dump文件原创 2023-11-06 14:27:05 · 880 阅读 · 0 评论 -
C++程序崩溃时,使用Visual Studio静态分析dump文件
通过Visual Studio静态分析Dump文件原创 2023-10-25 13:53:20 · 1915 阅读 · 0 评论