
windbg
文章平均质量分 54
金士顿
这个作者很懒,什么都没留下…
展开
-
Windows Debugging: 解析 c00001a5 异常(Invalid Exception Handler)
在调试 Windows 应用程序时,我们可能会遇到一些棘手的异常错误。禁用非 Microsoft 的 Shell 扩展,排查是否某个扩展导致。然后运行应用程序并在 WinDbg 附加调试,观察是否触发异常。如果 SEH 处理链异常(例如指向无效地址),说明可能存在。本文将分析该异常的可能原因,并提供有效的调试方法。,可以有效解决该问题。如果是应用程序自身问题,则需要。进程的崩溃 dump 文件时,就遇到了。中加载 dump 文件后,使用。如果版本不匹配或损坏,使用。异常时找到合适的方法!原创 2025-03-11 17:11:51 · 520 阅读 · 0 评论 -
深入剖析 Windows 崩溃:从 explorerframe.dll 到 Mwt.exe 的侦探之旅
抱歉复制后格式出现问题,可能是因为 Markdown 或纯文本在不同平台间的换行和缩进处理不一致。我重新整理了一份格式清晰的版本,确保在复制到博客平台(如 WordPress、Medium)或文本编辑器时更容易调整。原创 2025-03-11 17:10:26 · 760 阅读 · 0 评论 -
深入理解Windows程序崩溃:探索与explorerframe.dll的关系
通过这次深入分析Windows程序崩溃问题,我学到了很多关于Windows系统组件交互和内存管理的知识。组件间依赖关系:即使我们的应用程序看似简单,但它可能通过各种方式与系统组件交互,形成复杂的依赖链。资源生命周期管理:在多进程环境中,正确管理共享资源的生命周期至关重要,特别是当涉及到COM接口和系统组件时。调试技巧与工具:学习了更多关于使用调试工具分析崩溃问题的方法,如Application Verifier、AddressSanitizer和WinDbg等。MFC程序设计注意事项。原创 2025-03-11 17:07:23 · 947 阅读 · 0 评论 -
windows程序 crash后,dump默认在哪个文件?
您可以通过系统属性中的高级设置来更改系统崩溃转储文件的位置和类型。另外,某些应用程序可能会配置自己的转储文件位置,不同于系统默认设置。原创 2025-03-11 17:02:53 · 498 阅读 · 0 评论 -
下载并运行 DebugView。 在 DLL 中添加调试输出,查看加载过程。
通过这种方式,你可以用 DebugView 实时监控 go_com_idl.dll 的加载和注册过程。OutputDebugStringA(“go_com_idl.dll: DLL_PROCESS_ATTACH - DLL 被加载\n”);OutputDebugStringA(“go_com_idl.dll: DLL_PROCESS_DETACH - DLL 被卸载\n”);OutputDebugStringA(“go_com_idl.dll: DLL_THREAD_DETACH - 线程分离\n”);原创 2025-02-26 13:40:53 · 304 阅读 · 0 评论 -
windbg调试句柄问题
dumpheap -type System.Windows.Forms.Form 命令的目的是列出内存堆中所有 System.Windows.Forms.Form 类型的对象。确定 Form 对象的内存地址:在托管代码(C#)中,您可以通过!在复杂的应用程序中,特别是在C++和C#混合编程的环境中,理解句柄和对象之间的关系可能是一个具有挑战性的任务。例如,您可以首先使用!这些信息可以整合到您的设计文档的调试部分,说明如何使用WinDbg进行复杂场景下的调试,特别是在C++和C#代码共存的情况下。原创 2023-09-20 15:01:12 · 410 阅读 · 0 评论 -
使用adplus抓取dump文件
win10系统32位程序,先打开cmdcd C:\Program Files (x86)\Windows Kits\10\Debuggers\x86adplus.exe -crash -pn test_32.exe -o "c:\temp" -quietcrash程序崩溃,生成dump文件c:\temp生成dump文件路径原创 2022-05-23 15:31:27 · 356 阅读 · 0 评论 -
windbg调试命令4(用户层.dump)
转载地址:https://blog.youkuaiyun.com/iteye_19606/article/details/82487089转载 2022-05-23 15:23:10 · 110 阅读 · 0 评论 -
记一次使用windbg排查内存泄漏的过程
https://www.cnblogs.com/lanxiaoke/p/12997032.html转载 2022-04-19 10:02:36 · 412 阅读 · 0 评论 -
WinDbg抓取程序报错dump文件的方法
程序崩溃的两种主要现象:a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等此种崩溃特点:程序已异常,在你未点出错窗口的确定或其他按,所有错误信息都还保留在PC的内存中,可以直接抓取Dump文件。当然,如果你知道怎么样操作可以让程序崩溃,也可以用守株待兔的抓取方法抓Dump文件。b.程序在运行...转载 2018-06-01 11:07:26 · 503 阅读 · 0 评论 -
Memory: Stack Detail(A-Z)
Example Example -Stack Size for a Thread0:003> !tebTEB at 0000000000865000 ExceptionList: 0000000000000000 StackBase: 0000000007bf0000 StackLimit: 000000原创 2018-01-08 14:11:00 · 575 阅读 · 0 评论 -
PEB and TEB PEB and TEB(A-Z)
PEB and TEB PEB and TEBPEB = Process Environment Block –basic image information (base address, version numbers, module list)–process heap information–environment variables–command-line parame原创 2018-01-08 10:27:43 · 572 阅读 · 0 评论 -
windbg学习进阶之——dump分析常用命令收集
#重要说明(1) windbg命令分为标准命令,元命令和扩展命令。 标准命令提供最基本的调试功能,不区分大小写。如:bp g dt dv k等 元命令提供标准命令没有提供的功能,也内建在调试引擎中,以.开头。如.sympath .reload等 扩展命令用于扩展某一方面的调试功能,实现在动态加载的扩展模块中,以!开头。如!analyze等(2)转载 2018-01-31 10:27:46 · 1959 阅读 · 0 评论 -
Memory Leak Detection Using Windbg
Detecting memory leaks using Windbg.用Windbg侦察内存泄漏。IntroductionMemory leak is a time consuming bug often created by C++ developers. Detection of memory leaks is often tedious. Things翻译 2018-01-06 11:15:43 · 346 阅读 · 0 评论 -
试验1:观察Windows的内核模块、数据结构和函数
1,启动WinDBG的本地内核调试(File> Kernel Debug… > Local)。2,键入.symfix c:\symbols设置符号服务器和用于存储符号文件的本地目录。3,键入.sympath观察当前的符号路径。其结果应该如下所示:lkd> .sympathSymbol search pathis:SRV*c:\symbols*http://msdl.microsof原创 2017-12-30 16:04:26 · 1301 阅读 · 0 评论 -
windbg调试学习笔记(三)
3.3 异常与事件在调试器语境中,事件是一个基本概念,Windbg是事件驱动的。Windows操作系统的调试子系统,是“事件”的发生源。调试器的所有操作,都是因事件而动,因事件被处理而中继。Windows定义了9类调试事件,异常是其中一类(ID为1)。所以异常和事件,这二者是前者包含于后者的关系。系统对各种异常和调试事件进行了分类,执行sx命令可以列出针对当前调试目标的异常或非异常事件的处原创 2017-12-29 17:00:46 · 5892 阅读 · 1 评论 -
WinDbg配置和使用基础
http://www.cnblogs.com/happyhippy/archive/2007/04/08/710933.html WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。1. WinDbg介绍: Debugging Tools and Symbols: Get转载 2017-04-11 14:26:50 · 606 阅读 · 0 评论 -
WinDbg-如何抓取dump文件
原文转载自:http://www.cnblogs.com/netwy/articles/2520428.html这要分两种情况:第一种情况:如果是Vista或者是Windows2008操作系统就是一个简单的事情,在任务管理器中,切换到"进程"选项卡,右键点击你想要创建dump文件的进程,然后选择"Create Dump File"即可。如果你想要创建dump文件的进转载 2017-12-21 10:28:15 · 1148 阅读 · 0 评论 -
使用windbg抓取崩溃文件和分析的过程
转载地址:http://blog.youkuaiyun.com/nanjun520/article/details/52597731在软件编程中,崩溃的场景比较常见的。且说微软技术再牛X,也是会出现崩溃的场景。网上有一段Win98当着比尔盖茨蓝屏的视频非常有意思。(转载请指明出于breaksoftware的csdn博客) 我们身边的很多软件都引入了dump生成和收集机制。但是一般转载 2017-12-21 11:10:17 · 785 阅读 · 0 评论 -
Windbg调试----Windbg入门
转载地址:http://blog.youkuaiyun.com/CJF_iceKing/article/details/51955540Windbg简单来说就是一个Windows下对用户态/内核态的程序进行调试,以及对Core Dump文件的分析。对于Crash,资源泄露,死锁等问题的分析,Windbg是一个强有力的利器。相关资料本人也是在维护和开发产品的过程中使用过Windbg,转载 2017-12-25 15:35:38 · 628 阅读 · 0 评论 -
windbg调试基础
#工作空间 [Workspace]工作空间被用来描述和存储一个调试项目的属性、参数以及调试器设置等信息,其功能类似于集成开发环境的项目文件。具体包括:调试会话状态(断点、打开的源文件、用户定义的别名等)、调试器设置(符号文件路径、源文件路径、可执行映像文件路径等)和窗口布局状态。0. 基础工作空间 [base workspace]未载入任何的调试文件时使用默认的启动环境。存放位置:转载 2017-12-26 10:26:45 · 1055 阅读 · 0 评论 -
WinDbg内核调试Waiting to reconnect状态
我搭建的环境是主机win7,客户机虚拟机win7在客户机win+r组合键打开运行窗口,输入MSConfig,弹出MSConfig工具。高级选项 调试 COM2 波特率115200重启启动windbg和虚拟机ok原创 2018-01-02 10:28:58 · 3784 阅读 · 0 评论 -
VMware+Windgb+Win7内核驱动调试
本文主要记录个人安装VMware+Windgb+Win7内核驱动调试的笔记。一、安装环境主机:Windows Vista Bussiness虚拟机:VMware 7GUestOS: Win7Windbg: 6.11二、虚拟机配置打开相应 vmware 虚拟机上的 “Virtaul Machine Settings“ “Hardware ”选项中转载 2018-01-02 10:33:25 · 1019 阅读 · 0 评论 -
Xp+WinDBG+VMware调试内核
呵呵,搞点突兀的标题而已。其实说的还是如何使用WinDBG和VMware来搭建调试内核的环境而已,这些网上已经有数不清的教程了,不过我喜欢自己亲手写一下。第一,把这个过程写一遍能加深印象,就算以后忘记了也可以有笔记查找,快速想起来。第二、网上的教程很多都是互相抄来抄去,连错误也抄过去了。很典型一个错误就是Baud Rate,前面还写115200,后面就写成了11520了,狂汗!按照我这篇笔转载 2018-01-02 11:14:10 · 260 阅读 · 0 评论 -
windbg调试学习笔记
汇编&反汇编u 地址 [长度] 反汇编之后代码Ub地址 [长度] 反汇编之前代码Up地址 [长度] 从物理地址反汇编Uf 地址 反汇编当前函数a 地址 在指定地址处写入汇编 16位怎样打印某函数调用关系命令功能适用范围uf /c /D 地址打印当前函数对其他函数的调用用户态/内核态# 函数名 起始地址 l长度打原创 2017-12-26 16:53:46 · 543 阅读 · 0 评论 -
windbg学习笔记(四)
局部变量有两个命令可以打印当前的局部变量列表:x 和dv。x命令前文已经讲过。dv是Display local Variable的缩写。下面是对一段简单的Win32控制台代码获取其局部变量的情况:AcsVio.exe0:000:x86> x0019ff34 argc = 0n10019ff38 argv = 0x04901a680019ff18 ProcAdd = 0x原创 2018-01-03 14:01:34 · 480 阅读 · 0 评论 -
windbg调试学习(五)
断点 软件断点软件断点的本质是代码改写,即:将INT 3(代码为0xCC)指令替换到断点所在指令处(第一个字节),并保存被替换掉的代码(即一个字节内容)。等执行到断点处时,调试器将因断点而中断,并将被替换的一字节内容恢复到原内存中。其原理和代码补丁是一样的。源码或汇编模式下,最简单的断点设置方式,是定位到正确的代码处,并按下F9键。此外还有三种设置软件断点的指令,分别讲解如下:原创 2018-01-03 14:59:58 · 278 阅读 · 0 评论 -
windbg调试学习(六)
内存命令这一节里面,我们学习如何查看内存信息。内存是存储数据、代码的地方,通过内存查看命令可以分析很多问题。相关命令可以分为:内存查看命令和内存统计命令。内存统计命令用来分析内存的使用状况。查看内存 有非常丰富的内存查看命令,它们被统一为d*格式,如下所示:§ d[类型] [地址范围] d代表Display,原创 2018-01-03 15:50:28 · 332 阅读 · 0 评论 -
windbg捕获崩溃dump
gflags /i test.exe +ustset trace database size to 32MB:gflags /i test.exe /tracedb 32adplus.exe -hang -pn SMEX_Master.exe -o "c:\dump" –quiet原创 2017-12-21 11:21:11 · 489 阅读 · 0 评论 -
windbg调试学习笔记(二)
3 进程与线程既可以显示进程和线程列表,又可以显示指定进程或线程的详细信息。调试命令可以提供比taskmgr更详尽的进程资料,在调试过程中不可或缺。3.1 进程命令进程命令包括这些内容:显示进程列表、进程环境块、设置进程环境。进程列表多个命令可显示进程列表,但一般只能在特定情况下使用,它们是:|、.tlist、!process和!dml_proc。竖线命令显示当前被调试进程原创 2017-12-28 19:44:50 · 2729 阅读 · 0 评论 -
WinDBG 技巧:如何生成Dump 文件(.dump 命令)
WinDBG 技巧:如何生成Dump 文件(.dump 命令) 收藏程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令 WinDBG产生dump 文件的命令是 .dump转载 2014-01-25 10:02:44 · 1424 阅读 · 0 评论