2019年11月23日

WinDbg常用命令系列---!htrace

摘要: !htrace 简介 !htrace扩展显示一个或多个句柄的堆栈跟踪信息。 使用形式 用户模式!htrace [Handle [Max_Traces]] !htrace -enable [Max_Traces] !htrace -snapshot !htrace -diff !htrace -dis 阅读全文

posted @ 2019-11-23 14:40 活着的虫子 阅读(696) 评论(0) 推荐(0) 编辑

WinDbg常用命令系列---!handle

摘要: !handle 简介 !handle扩展显示有关目标系统中一个或所有进程拥有的一个或多个句柄的信息。 使用形式 用户模式!handle [Handle [UMFlags [TypeName]]] !handle -? 内核模式!handle [Handle [KMFlags [Process [Ty 阅读全文

posted @ 2019-11-23 14:22 活着的虫子 阅读(1946) 评论(0) 推荐(0) 编辑

WinDbg常用命令系列---!dlls

摘要: !dlls 简介 !dlls扩展显示所有加载模块或指定线程或进程正在使用的所有模块的表条目。 使用形式 !dlls [Options][LoaderEntryAddress] !dlls -h 参数 Options 指定输出的级别。 此参数可以是下列值中的任意组合: -f 显示文件标头。 -s 显示 阅读全文

posted @ 2019-11-23 14:00 活着的虫子 阅读(718) 评论(0) 推荐(0) 编辑

WinDbg常用命令系列---!cppexr

摘要: !cppexr 简介 !cppexr显示C++异常记录的内容。 使用形式 !cppexr Address 参数 Address指定要显示的C++异常记录的地址。 支持环境 Windows 2000 Ext .dll Windows XP 和更高版本 Ext .dll 备注 ! Cppexr扩展显示与 阅读全文

posted @ 2019-11-23 11:42 活着的虫子 阅读(284) 评论(0) 推荐(0) 编辑

WinDbg常用命令系列---.load, .loadby (Load Extension DLL)

摘要: .load, .loadby (Load Extension DLL) 简介 .load和.loadby命令将新的扩展DLL加载到调试器中。 使用形式 .load DLLName !DLLName.load .loadby DLLName ModuleName 参数 DLLName 指定要加载的调试 阅读全文

posted @ 2019-11-23 11:19 活着的虫子 阅读(1384) 评论(0) 推荐(0) 编辑

WinDbg常用命令系列---!envvar

摘要: !envvar 简介 !envvar扩展命令显示特定环境变量的值。 使用形式 !envvar Variable 参数 Variable指定显示其值的环境变量。变量不区分大小写。 环境 Windows 2000 不可用 Windows XP 及更高版本 Exts.dll 备注 这个!envvar扩展在 阅读全文

posted @ 2019-11-23 10:09 活着的虫子 阅读(246) 评论(0) 推荐(0) 编辑

如何用Windbg从dump获取计算机名、主机名

摘要: 对内存转储时发生的事情有一定的了解是非常重要的。这有助于您确定要执行哪些WinDbg命令,并为您提供一些有关如何解释这些命令输出的上下文。我正在查看一个服务器的内存转储,该服务器存在性能问题。我在内存转储中根本没有看到任何运行,这意味着被转储的进程不是有问题的进程,或者,转储是从错误的机器上获取的? 阅读全文

posted @ 2019-11-23 09:51 活着的虫子 阅读(379) 评论(0) 推荐(0) 编辑

2019年11月21日

关于System.ExecutionEngineException异常

摘要: 什么是System.ExecutionEngineException 公共语言运行库的执行引擎中出现内部错误时引发的异常。这个类不能继承。 继承 Object Exception SystemException ExecutionEngineException 说明 执行引擎错误是永远不应该发生的致 阅读全文

posted @ 2019-11-21 18:01 活着的虫子 阅读(4444) 评论(0) 推荐(0) 编辑

记一次System.ExecutionEngineException异常的排查

该文被密码保护。 阅读全文

posted @ 2019-11-21 17:55 活着的虫子 阅读(1) 评论(0) 推荐(0) 编辑

记一次搜狗拼音输入法引起的崩溃

该文被密码保护。 阅读全文

posted @ 2019-11-21 17:26 活着的虫子 阅读(1) 评论(0) 推荐(0) 编辑

调试自定义过滤器的未处理异常

该文被密码保护。 阅读全文

posted @ 2019-11-21 16:39 活着的虫子 阅读(0) 评论(0) 推荐(0) 编辑

用Visual C++生成调试信息

该文被密码保护。 阅读全文

posted @ 2019-11-21 10:47 活着的虫子 阅读(5) 评论(0) 推荐(0) 编辑

2019年11月20日

调试信息匹配

该文被密码保护。 阅读全文

posted @ 2019-11-20 17:50 活着的虫子 阅读(3) 评论(0) 推荐(0) 编辑

又一款dump文件观察工具---MiniDumpView

摘要: 简介 MiniDumpView实用程序可用于显示minidump中数据流的内容。特别是,可以显示以下信息: 操作系统和CPU信息 进程信息(进程ID和时间) 模块列表(包含每个模块的详细信息) 线程列表(包含每个线程的详细信息) 异常信息 保存在小型转储中的内存区域列表 打开的句柄列表 虚拟内存布局 阅读全文

posted @ 2019-11-20 17:24 活着的虫子 阅读(1343) 评论(0) 推荐(0) 编辑

Dump文件定制工具---MiniDump Wizard

摘要: MiniDump向导应用程序允许在不编写代码的情况下尝试MiniDumpWriteDump和MiniDumpCallback函数。可以指定将传递给MiniDumpWriteDump函数的MINIDUMP_TYPE标志的组合,并且可以在一系列对话框中响应MiniDumpCallback调用。 如何使用 阅读全文

posted @ 2019-11-20 17:00 活着的虫子 阅读(599) 评论(0) 推荐(0) 编辑

有效的minidump(二)

摘要: 函数MiniDumpCallback 如果要自定义MINIDUMP类型标志无法访问的MINIDUMP的内容,可以使用MiniDumpCallback函数。这是一个用户定义的回调,当MiniDumpWriteDump需要用户决定是否将某些数据包含到minidump中时,它将被调用。借助此功能,我们可以 阅读全文

posted @ 2019-11-20 15:47 活着的虫子 阅读(1573) 评论(0) 推荐(0) 编辑

有效的minidump(一)

摘要: 简介 在过去的几年中,崩溃转储成为我们调试活动的一个重要部分。当我们的软件在客户的机器出现故障时,创建应用程序状态的快照并使用在开发人员机器上运行的传统调试器对其进行分析的可能性是非常宝贵的。第一代崩溃转储(通常称为“完全用户转储”)捕获了整个进程虚拟内存的内容。尽管对于事后调试毫无疑问是有用的,但 阅读全文

posted @ 2019-11-20 13:57 活着的虫子 阅读(2583) 评论(0) 推荐(0) 编辑

Minidumps 和 modules匹配

摘要: 简介 调试应用程序时,调试器必须加载可执行模块的符号,以便能够显示有意义的调用堆栈、当前源代码行、变量值等。如果您曾经调试过在另一个系统上创建的小型转储,那么您已经知道除了符号之外,调试器还需要访问创建转储时由应用程序加载的相同版本的模块。如果调试器找不到与模块完全相同的版本(即匹配的模块),则无法 阅读全文

posted @ 2019-11-20 11:22 活着的虫子 阅读(396) 评论(0) 推荐(0) 编辑

2019年11月19日

如何生成公有调试符号

摘要: 生成公有调试符号有2种形式:1.编译链接过程中生成;2.从私有调试符号文件中剥离生成 编译链接过程中生成 方式一 工程属性-Linker-Debuging-strip private symbols 方式二 工程属性-Linker-Command Line-Additional Options 增加 阅读全文

posted @ 2019-11-19 17:35 活着的虫子 阅读(378) 评论(1) 推荐(0) 编辑

关于Windows系统里的事后调试

摘要: 我一直在想,应用程序抛出未处理的异常和附加到进程的调试器之间会发生什么。显然这些信息就在我眼皮底下,但我是瞎子。Windows调试器关于事后调试的文档包含了您想要知道的所有详细信息。 最常见的应用程序错误称为异常。这些错误包括访问冲突、除以零错误、数字溢出和许多其他类型的错误。应用程序也可能导致断点 阅读全文

posted @ 2019-11-19 14:44 活着的虫子 阅读(714) 评论(0) 推荐(0) 编辑

验证符号文件的又一方法(!itoldyouso)

摘要: 如果您正在开发软件,很可能遇到了“不匹配的PDB”调试器错误。当您将调试器指向错误的符号路径时,通常会发生这种情况。 但有时你确信你所指向的符号是正确的符号,这让你想知道为什么调试器认为这些符号不匹配。 "!sym noisy“将告诉您windows调试器如何搜索符号,并在遇到不匹配的pdb时报告它 阅读全文

posted @ 2019-11-19 10:55 活着的虫子 阅读(603) 评论(0) 推荐(0) 编辑

2019年11月18日

windbg在加载模块时下断点

摘要: 假设我们希望在加载特定的dll时中断调试器,例如,我想启用一些SOS命令,而clr还没有加载,当您遇到程序中过早发生的异常,并且您不能依赖手动尝试在正确的时间中断时,这尤其有用。例如,在将调试器附加到一个进程之后,我会得到一个错误,因为clr尚未加载 0:000> .loadby sos clr U 阅读全文

posted @ 2019-11-18 17:25 活着的虫子 阅读(1524) 评论(0) 推荐(0) 编辑

SOS.DLL在windbg里加载错误

摘要: sos.dll/mscordacwks.dll 公共语言运行库(CLR)是执行托管代码的Microsoft.NET框架的核心引擎。简单地说,它通过在托管程序集中使用中间语言和元数据,JIT按需编译代码,构建程序集定义和使用的类型的内存表示,并确保生成的代码是安全的、安全的和可验证的,并在需要时执行。 阅读全文

posted @ 2019-11-18 17:11 活着的虫子 阅读(2021) 评论(2) 推荐(0) 编辑

异常过滤器的好坏(CLR)

摘要: 为什么有些语言支持它们而另一些不支持呢?把它们加到我的新语言里是个好主意吗?我应该什么时候使用过滤器和catch/rethrow?就像很多事情一样,异常过滤器有好的一面也有坏的一面… 什么是异常过滤器? CLR提供了许多高级语言可以构建的异常处理原语。有些是相当明显的,并且很容易映射到我们大多数人都 阅读全文

posted @ 2019-11-18 14:44 活着的虫子 阅读(287) 评论(0) 推荐(0) 编辑

是Mscoreei.dll的正确版本吗?

摘要: 在安装.NET 4.0或更高版本之后,您可能会注意到.NET进程有点不寻常。下面是用.NET 2.0编译器编译的简单“Hello World”可执行文件的加载模块的部分列表。 开始-结束模块名称 60f00000 61491000 mscorwks C:\Windows\Microsoft.NET\ 阅读全文

posted @ 2019-11-18 11:49 活着的虫子 阅读(499) 评论(0) 推荐(0) 编辑

CLR如何将SEH异常映射到托管异常类型

摘要: 托管异常处理构建在Windows操作系统的结构化异常处理之上,通常称为SEH。这意味着CLR了解如何在SEH和托管异常系统之间进行互操作,这是一个非常关键的点,因为SEH基于异常代码的概念,而托管异常处理则表示使用托管类型的异常。CLR相应地将SEH异常映射到托管异常,具体取决于引发SEH异常的方式 阅读全文

posted @ 2019-11-18 11:27 活着的虫子 阅读(245) 评论(0) 推荐(0) 编辑

2019年11月16日

CLR Exception---E0434F4D

摘要: 什么是CLR Exception E0434F4D 就是公共语言运行时(CLR)异常,异常代码为0xE0434F4D。因此任何托管异常,如NullReferenceException、invalidooperationexception或SQLException…基本上所有托管异常都在本机中称为0x 阅读全文

posted @ 2019-11-16 10:38 活着的虫子 阅读(1248) 评论(0) 推荐(0) 编辑

CLR 调试体系结构

摘要: 公共语言运行时 (CLR) 调试 API 专门用作操作系统内核的一部分。 在非托管代码中,当程序生成异常时,内核将暂停执行进程,并使用 Win32 调试 API 将异常信息传递给调试器。 CLR 调试 API 可以为托管代码提供相同功能。 当托管代码生成异常时,CLR 调试 API 将暂停执行进程, 阅读全文

posted @ 2019-11-16 10:05 活着的虫子 阅读(339) 评论(0) 推荐(0) 编辑

CLR 调试概述

摘要: 利用公共语言运行时 (CLR) 调试 API,工具供应商可以编写调试器来调试运行于 CLR 环境中的应用程序。 要调试的代码可为 CLR 支持的任何代码种类。CLR 调试 API 主要是使用非托管代码实现的。 因此,调试 API 呈现为一组组件对象模型 (COM) 接口。 API 由以下各项组成: 阅读全文

posted @ 2019-11-16 10:00 活着的虫子 阅读(804) 评论(0) 推荐(0) 编辑

2019年11月15日

CLR Exception---E0434352

摘要: 什么是CLR Exception E0434352 CLR异常是.NET应用程序生成的异常类型。异常被封装在从System.exception类派生的类中。它的异常代码是0xE0434352,代码的后面三个字节对应assic码的 "CCR",所以又叫CCR异常。 异常代码e043432可以是任何内容 阅读全文

posted @ 2019-11-15 18:35 活着的虫子 阅读(4090) 评论(0) 推荐(0) 编辑

关于System.MissingMethodException异常

摘要: 什么是MissingMethodException 试图动态访问不存在的方法时引发的异常。 继承 Object Exception SystemException MemberAccessException MissingMemberException 说明 通常, 如果代码尝试访问不存在的类方法, 阅读全文

posted @ 2019-11-15 11:57 活着的虫子 阅读(7202) 评论(0) 推荐(0) 编辑

记一次CLR exception(e0434352)---System.MissingMethodException异常崩溃排查

该文被密码保护。 阅读全文

posted @ 2019-11-15 11:47 活着的虫子 阅读(3) 评论(0) 推荐(0) 编辑

关于异常System.ArgumentException

摘要: 什么是System.ArgumentException 当向方法提供的参数之一无效时引发的异常。 继承 Object Exception SystemException ArgumentException 详细说明 ArgumentException当调用方法并且传递的自变量中至少有一个参数不符合所 阅读全文

posted @ 2019-11-15 09:57 活着的虫子 阅读(24125) 评论(0) 推荐(1) 编辑

2019年11月14日

记一次CLR exception(e0434352)---System.ArgumentException异常崩溃的排查

该文被密码保护。 阅读全文

posted @ 2019-11-14 19:37 活着的虫子 阅读(3) 评论(0) 推荐(0) 编辑

从.NET/CLR返回的hresult:0x8013XXXX的解释

摘要: 什么是0x8013XXXX 有时您可能会遇到从.NET返回的神秘HRESULT,它以0x8013开头,例如0x80131522。不幸的是,Visual Studio附带的错误查找并不能真正处理那些奇怪的HRESULT。它们是什么? 事实上,它们是由.NET/CLR在头文件中定义的。所有这些失败/成功 阅读全文

posted @ 2019-11-14 17:59 活着的虫子 阅读(4359) 评论(0) 推荐(0) 编辑

关于System.BadImageFormatException

摘要: 什么是BadImageFormatException BadImageFormatException是当动态链接库 (DLL) 或可执行程序的文件映像无效时引发的异常。 可能的原因 如果动态链接库 (.dll 文件) 或可执行文件 (.exe 文件) 的文件格式不符合公共语言运行时所需的格式, 则会 阅读全文

posted @ 2019-11-14 16:45 活着的虫子 阅读(5365) 评论(0) 推荐(0) 编辑

记一次CLR exception(e0434352)---System.BadImageFormatException异常排查

该文被密码保护。 阅读全文

posted @ 2019-11-14 15:15 活着的虫子 阅读(5) 评论(0) 推荐(0) 编辑

Windows用户模式调试内部组件

摘要: 简介 允许用户模式调试工作的内部机制很少得到充分的解释。更糟糕的是,这些机制在Windows XP中已经发生了根本性的变化,当许多支持被重新编写时,还通过将ntdll中的大多数例程作为本地API的一部分,使更多的子系统变得可移植。希望读者对C和通用NT内核体系结构和语义有一些基本的了解。此外,这并不 阅读全文

posted @ 2019-11-14 00:54 活着的虫子 阅读(499) 评论(0) 推荐(0) 编辑

内核用户模式调试支持(Dbgk)

摘要: 简介 将详细分析Windows调试的内核模式接口。希望读者对C和通用NT内核体系结构和语义有一些基本的了解。此外,这并不是介绍什么是调试或如何编写调试器。它可以作为经验丰富的调试器编写人员或好奇的安全专家的参考。 内核用户模式调试支持 最后一块拼图以内核模式存在,并提供了我们到目前为止看到的事件和结 阅读全文

posted @ 2019-11-14 00:33 活着的虫子 阅读(1494) 评论(0) 推荐(0) 编辑

Windows本机调试内部组件

摘要: 将详细分析Windows调试的本机接口。希望读者对C和通用NT内核体系结构和语义有一些基本的了解。此外,这并不是介绍什么是调试或如何编写调试器。它可以作为经验丰富的调试器编写人员或好奇的安全专家的参考。 本机调试 现在是时候看看事情的本机方面,以及ntdll.dll中的包装层如何与内核通信。DbgU 阅读全文

posted @ 2019-11-14 00:07 活着的虫子 阅读(821) 评论(0) 推荐(0) 编辑

导航