排序
使用windbg分析dump文件,排查模态框返回时的崩溃问题
昨天兄弟项目组的一个C++软件在运行过程中出现了崩溃,邀请我过去帮忙分析一下。取来了dump文件,然后使用windbg分析,大概找出了出问题的点。这个问题有一定的代表性,在此给大家做个分享。1...
IDA反汇编工具使用详解
目录1、IDA反汇编工具简介2、为什么需要IDA反汇编工具?3、IDA的安装4、IDA的使用5、查看发生异常时的汇编指令的上下文6、虚函数调用时的二次寻址7、函数调用时的栈分布以及栈回溯原理8、最后 ...
Windows开发值得推荐的分析工具,值得收藏
目录1、概述2、常用工具介绍2.1 窗口查看工具SPY++2.2 Dependency Walker2.3 剪切板查看工具Clipbrd2.4 GDI对象查看工具GDIView2.5 Process Explorer2.6 Prcoess Monitor2.7 API ...
使用Windbg排查线程死锁引起的连不上服务器问题
目录 1、问题说明2、初步怀疑底层的库发生堵死了3、到出问题的笔记本上将Windbg附加到目标进程上4、任务管理器中导出的dump文件是64位的,需要使用命令切换到32位上下文5、为什么我们的软件还...
将Windbg附加到软件进程上排查异常闪退的问题
目录1、问题背景2、将Windbg附加到进程上,发现软件发生异常时中断在DebugBreak接口上3、根据Windbg中显示的函数调用堆栈,查看Webrtc库的开源代码,发现是new失败了 4、malloc或new失败的可能...
C++程序启动时报“R6030 CRT not initialized”错误
在使用VS调试C++程序时,每次启动调试都弹出如下的提示:提示“R6030 CRT not initialized”,C++程序始终无法启动,也就没法进行代码的调试了。这太奇怪了,以前都没遇到过,CRT是C/C++的运行...
使用Dependency Walker和dumpbin工具定位C++软件启动时找不到接口的报错问题
目录 1、问题说明 2、使用Dependency Walker工具查看exe主程序的库依赖关系,但找到sysctrldll.dll库 3、使用dumpbin工具查看sysctrldll.dll库是被哪个dll库依赖的 3.1、 dumpbin工具介绍 3.2...
内存越界一定会导致程序崩溃吗?详解内存越界
目录1、什么是内存越界?1.1、对数组的读越界 1.2、执行strcpy时的写越界 1.3、执行memcpy时的写越界2、内存越界一定会导致程序崩溃吗?3、有两种情况的内存操作是必然会导致程序崩溃的3.1、...
C++软件异常分析与排查的学习历程
1、汇编与反汇编(1)汇编 学习普通x86下汇编语言的设计,尤其是用汇编语言编写面向对象的程序,汇编语言编写win32程序,旨在通过编程的思路了解C++的核心原理。书籍推荐罗云彬《wi...
消息id重复引发的内存读取异常问题
1、引言 本文就最近遇到的一个异常崩溃实例,详细介绍了使用Windbg分析问题和解决问题的过程。另外,本文主要讲解dump的静态分析,至于将Windbg动态挂载到目标进程中去动态调试的内容,...
C++程序启动时报“0xc0000022”无法启动的错误
360安全卫士怀疑C++程序依赖的某个dll包含病毒行为,将该dll库隔离了、锁定住了,禁止其他程序访问该文件,导致C++程序启动时报错,启动失败。本文简单地讲述整个问题的排查过程,给大家提供一...
实例详解C++程序的五大内存分区
目录1、栈内存区1.1、调用函数时通过栈来传递函数的参数值 1.2、线程占用的栈内存是有上限的2、堆内存区3、全局/静态内存区4、文字常量区5、程序代码区 C++程序在运行时所...