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

通过查看windbg中变量值去定位C++软件异常的又一典型案例分享-卡核

通过查看windbg中变量值去定位C++软件异常的又一典型案例分享

目录1、概述    2、问题初步排查    3、进一步分析4、查看windbg中变量的内存,最终定位问题5、总结最近帮兄弟项目组排查一个C++软件异常崩溃问题时,遇到了一个更为典型的通过查看windbg...
ck的头像-卡核ck5个月前
03.3W+3552
实例详解C++程序的五大内存分区-卡核

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

目录1、栈内存区1.1、调用函数时通过栈来传递函数的参数值       1.2、线程占用的栈内存是有上限的2、堆内存区3、全局/静态内存区4、文字常量区5、程序代码区       C++程序在运行时所...
ck的头像-卡核ck5个月前
03.2W+1.4W+
排查软件启动时访问了0xcdcdcdcd内存地址导致内存访问违例的崩溃-卡核

排查软件启动时访问了0xcdcdcdcd内存地址导致内存访问违例的崩溃

 最近在使用duilib开源库实现图片查看工具软件ImageViewer,调试时发现,程序刚启动时就访问了0xcdcdcdcd内存地址,触发内存访问违例,导致了软件崩溃。本文分享一下这一问题的排查过程。1、问...
ck的头像-卡核ck34天前
03.2W+3201
使用Clumsy和Process Explorer定位软件高CPU占用问题-卡核

使用Clumsy和Process Explorer定位软件高CPU占用问题

目录1、问题描述2、使用Process Explorer初步找到CPU占用高的原因3、使用Clumsy工具在公司内网环境复现了问题4、根据Process Explorer中的函数调用堆栈,分析源码,最终找出了问题5、总结    ...
ck的头像-卡核ck34天前
03.2W+6688
使用windbg分析dump文件,排查模态框返回时的崩溃问题-卡核

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

 昨天兄弟项目组的一个C++软件在运行过程中出现了崩溃,邀请我过去帮忙分析一下。取来了dump文件,然后使用windbg分析,大概找出了出问题的点。这个问题有一定的代表性,在此给大家做个分享。1...
ck的头像-卡核ck5个月前
03.2W+2W+
将Windbg附加到软件进程上排查异常闪退的问题-卡核

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

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

pdb符号库文件详解

目录1、概述2、Windbg和IDA反汇编工具要用到pdb文件3、Process Explorer和Process Monitor也要用到pdb文件4、pdb时间戳与pdb文件名称5、Windbg中pdb符号文件路径配置我们在使用工具去分析C++软...
ck的头像-卡核ck5个月前
03W+3103
排查C++软件异常的常见思路与方法(实战经验总结)-卡核

排查C++软件异常的常见思路与方法(实战经验总结)

目录1、概述2、常见的异常排查思路与方法2.1、直接调试2.2、添加日志打印2.3、分块注释代码2.4、数据断点2.5、历史版本比对法2.6、Windbg静态分析dump文件2.7、Windbg动态调试2.8、使用IDA反汇...
ck的头像-卡核ck5个月前
02.7W+2.3W+
C++软件异常分析与排查的学习历程-卡核

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

 1、汇编与反汇编(1)汇编       学习普通x86下汇编语言的设计,尤其是用汇编语言编写面向对象的程序,汇编语言编写win32程序,旨在通过编程的思路了解C++的核心原理。书籍推荐罗云彬《wi...
ck的头像-卡核ck24天前
02.5W+1.5W+
C++栈回溯原理(C++异常排查面试题)-卡核

C++栈回溯原理(C++异常排查面试题)

 我们用VS调试源代码或使用Windbg调试exe程序遇到异常时,调试器会中断下来,此时去查看函数调用堆栈基本就能找到引发异常的线索了。软件是执行到某一句汇编代码产生了异常,那么调试器如何通...
ck的头像-卡核ck3个月前
02.5W+1.1W+
使用Windbg定位Windows C++程序中的内存泄露-卡核

使用Windbg定位Windows C++程序中的内存泄露

目录1、概述2、使用Windbg监测内存泄露的一般步骤3、详解整个操作过程3.1、gflags.exe和umdh.exe介绍3.2、启动cmd命令行3.3、设置pdb符号库路径3.4、调用gflags设置启用udmh.exe的堆栈跟踪3.5、...
ck的头像-卡核ck5个月前
02.5W+3929
使用Dependency Walker和Process Explorer排查软件release版本发布问题(常用工具)-卡核

使用Dependency Walker和Process Explorer排查软件release版本发布问题(常用工具)

就今天使用第三方工具PeViewer.exe遇到的release版本发布问题,简单地讲一下如何使用Dependency Walker和Process Explorer这两个常用的软件。文中内容比较简单,旨在介绍工具如何使用,给新人...
ck的头像-卡核ck2个月前
02.4W+1.4W+