C++软件调试与异常排查

使用windbg分析dump文件,排查模态框返回时的崩溃问题-卡核

使用windbg分析dump文件,排查模态框返回时的崩溃问题

 昨天兄弟项目组的一个C++软件在运行过程中出现了崩溃,邀请我过去帮忙分析一下。取来了dump文件,然后使用windbg分析,大概找出了出问题的点。这个问题有一定的代表性,在此给大家做个分享。1...
ck的头像-卡核ck5个月前
03.2W+2W+
IDA反汇编工具使用详解-卡核

IDA反汇编工具使用详解

目录1、IDA反汇编工具简介2、为什么需要IDA反汇编工具?3、IDA的安装4、IDA的使用5、查看发生异常时的汇编指令的上下文6、虚函数调用时的二次寻址7、函数调用时的栈分布以及栈回溯原理8、最后 ...
ck的头像-卡核ck5个月前
01.1W+1.8W+
Windows开发值得推荐的分析工具,值得收藏-卡核

Windows开发值得推荐的分析工具,值得收藏

目录1、概述2、常用工具介绍2.1  窗口查看工具SPY++2.2  Dependency Walker2.3  剪切板查看工具Clipbrd2.4  GDI对象查看工具GDIView2.5  Process Explorer2.6  Prcoess Monitor2.7  API ...
ck的头像-卡核ck5个月前
065191.8W+
使用Windbg排查线程死锁引起的连不上服务器问题-卡核

使用Windbg排查线程死锁引起的连不上服务器问题

目录 1、问题说明2、初步怀疑底层的库发生堵死了3、到出问题的笔记本上将Windbg附加到目标进程上4、任务管理器中导出的dump文件是64位的,需要使用命令切换到32位上下文5、为什么我们的软件还...
ck的头像-卡核ck5个月前
090011.7W+
将Windbg附加到软件进程上排查异常闪退的问题-卡核

将Windbg附加到软件进程上排查异常闪退的问题

目录1、问题背景2、将Windbg附加到进程上,发现软件发生异常时中断在DebugBreak接口上3、根据Windbg中显示的函数调用堆栈,查看Webrtc库的开源代码,发现是new失败了 4、malloc或new失败的可能...
ck的头像-卡核ck5个月前
03.1W+1.7W+
C++程序启动时报“R6030 CRT not initialized”错误-卡核

C++程序启动时报“R6030 CRT not initialized”错误

在使用VS调试C++程序时,每次启动调试都弹出如下的提示:提示“R6030 CRT not initialized”,C++程序始终无法启动,也就没法进行代码的调试了。这太奇怪了,以前都没遇到过,CRT是C/C++的运行...
ck的头像-卡核ck2个月前
02.3W+1.7W+
使用Dependency Walker和dumpbin工具定位C++软件启动时找不到接口的报错问题-卡核

使用Dependency Walker和dumpbin工具定位C++软件启动时找不到接口的报错问题

目录 1、问题说明 2、使用Dependency Walker工具查看exe主程序的库依赖关系,但找到sysctrldll.dll库 3、使用dumpbin工具查看sysctrldll.dll库是被哪个dll库依赖的 3.1、 dumpbin工具介绍 3.2...
ck的头像-卡核ck24天前
042071.6W+
内存越界一定会导致程序崩溃吗?详解内存越界-卡核

内存越界一定会导致程序崩溃吗?详解内存越界

目录1、什么是内存越界?1.1、对数组的读越界 1.2、执行strcpy时的写越界 1.3、执行memcpy时的写越界2、内存越界一定会导致程序崩溃吗?3、有两种情况的内存操作是必然会导致程序崩溃的3.1、...
ck的头像-卡核ck5个月前
04.5W+1.6W+
C++软件异常分析与排查的学习历程-卡核

C++软件异常分析与排查的学习历程

 1、汇编与反汇编(1)汇编       学习普通x86下汇编语言的设计,尤其是用汇编语言编写面向对象的程序,汇编语言编写win32程序,旨在通过编程的思路了解C++的核心原理。书籍推荐罗云彬《wi...
ck的头像-卡核ck24天前
02.5W+1.5W+
消息id重复引发的内存读取异常问题-卡核

消息id重复引发的内存读取异常问题

1、引言      本文就最近遇到的一个异常崩溃实例,详细介绍了使用Windbg分析问题和解决问题的过程。另外,本文主要讲解dump的静态分析,至于将Windbg动态挂载到目标进程中去动态调试的内容,...
ck的头像-卡核ck33天前
01.9W+1.4W+
C++程序启动时报“0xc0000022”无法启动的错误-卡核

C++程序启动时报“0xc0000022”无法启动的错误

360安全卫士怀疑C++程序依赖的某个dll包含病毒行为,将该dll库隔离了、锁定住了,禁止其他程序访问该文件,导致C++程序启动时报错,启动失败。本文简单地讲述整个问题的排查过程,给大家提供一...
ck的头像-卡核ck24天前
04.8W+1.4W+
实例详解C++程序的五大内存分区-卡核

实例详解C++程序的五大内存分区

目录1、栈内存区1.1、调用函数时通过栈来传递函数的参数值       1.2、线程占用的栈内存是有上限的2、堆内存区3、全局/静态内存区4、文字常量区5、程序代码区       C++程序在运行时所...
ck的头像-卡核ck5个月前
03.2W+1.4W+