排序
使用Dependency Walker和Process Explorer排查软件release版本发布问题(常用工具)
就今天使用第三方工具PeViewer.exe遇到的release版本发布问题,简单地讲一下如何使用Dependency Walker和Process Explorer这两个常用的软件。文中内容比较简单,旨在介绍工具如何使用,给新人...
Windbg调试工具介绍
目录1、概述2、Windbg的使用3、Windbg版本4、Windbg的获取与安装Windbg是我们最常用的C++软件异常分析工具,也是最强大的分析工具之一,我们今天就来详细介绍一下Windbg的相关内容。1、概述 ...
Windows和Linux下排查C++软件异常的常用调试器与内存检测工具详细介绍
目录 1、引言 2、概述 3、Windows下常用调试器和分析工具 3.1、Visual Studio开发调试工具 3.2、Windbg调试器 3.3、Windows内存分析工具 4、Linux下常用调试器和工具 4.1、gcc编译调试工具 4.2...
使用Windbg和IDA分析给被调用函数的std::string类型参数传递了空指针引发的崩溃
目录1、引言2、问题描述3、异常上下文及对应的C++代码4、在IDA中查看异常汇编指令的上下文5、在IDA中对照C++代码,分析异常汇编指令的上下文,定位问题6、再回到C++代码找出问题7、解决办法8、...
C++栈回溯原理(C++异常排查面试题)
我们用VS调试源代码或使用Windbg调试exe程序遇到异常时,调试器会中断下来,此时去查看函数调用堆栈基本就能找到引发异常的线索了。软件是执行到某一句汇编代码产生了异常,那么调试器如何通...
将string类对象中的内容格式化到字符串Buffer中时遇到的异常崩溃分析
目录1、概述2、初步分析3、进一步分析4、为啥将wstring类型格式化到字符串buffer中会崩溃呢?5、格式化函数如何从栈上解析出每个格式化符对应的变量内容的?6、总结我们在将变量中的数据格式化...
Windbg常用命令详解
目录1、Windbg命令分类2、常用的命令2.1、.ecxr命令2.2、kn/kv/kp命令2.3、lm命令2.4、.reload命令2.5、!analyze -v命令2.6、g命令2.7、bp/bl/bc命令2.8、~ns命令2.9、.dump命令2.10、r命令2.11...
通过查看Windbg中汇编指令及内存中的值去定位软件崩溃问题
目录1、在Windbg中分析dump文件的一般步骤1.1、查看异常的类型1.2、查看崩溃的那条汇编指令及相关寄存器的值1.3、查看函数调用堆栈1.4、查看相关变量在内存中的值1.5、有时可能需要使用IDA查看...
C/C++函数的调用约定详解
目录1、概述2、常见的调用约定说明2.1、__cdecl C调用2.2、__stdcall标准调用2.3、__fastcall快速调用2.4、__thiscall调用3、调用约定不一致导致的软件异常问题4、与调用约定相关的工程配置选项...
使用Windbg过程中两个使用细节分享
我们在使用工具的过程中,一般都会遇到一些使用上的细节或者技巧,今天就来给大家分享一下最近使用Windbg过程中遇到的两个问题,以供参考。C++软件异常排查从入门到精通系列教程(专栏文章...
Windbg使用详解
目录1、Windbg简介2、Windbg版本3、Windbg安装包的获取与安装4、PDB文件说明5、Windbg中pdb符号文件路径配置6、在Windbg中配置pdb文件路径和源代码路径7、常用的Windbg命令8、Windbg静态分析dum...
C++软件异常分析概述
最近几年工作中很大一部分内容是排查软件运行过程中遇到的各种异常,无论是底层的网络模块、协议模块和组件模块,还是上层的UI模块,都处理过多次,见识了各式各样的C++异常或崩溃,积累了...