随笔分类 -  Dump Checking

关于看Dump文件的一些知识
如何在WinDBG中切换当前的线程?
摘要:命令很简单: ~0s 切换到0号线程 ~3s 切换到3号线程 一些其他命令: ~*e !clrstack 遍历每个线程, 依次输出它们的托管调用栈. !threads 查看所有的托管线程 阅读全文

posted @ 2010-07-19 23:26 中道学友 阅读(10092) 评论(0) 推荐(0) 编辑

一些关于帮助初学者分析dump的链接
摘要:Common WinDbg Commands (Thematically Grouped) http://windbg.info/doc/1-common-cmds.html Getting started with WinDbg and Sos.dll http://rynsim.spaces.live.com/blog/cns!1DA5A63F849536B6!671.entry 阅读全文

posted @ 2010-07-07 23:54 中道学友 阅读(479) 评论(0) 推荐(0) 编辑

在WinDBG中高亮你输入的命令, 从而和命令的结果输出区分开来
摘要:在WinDBG的Command窗口中, 默认情况下, 你输入的命令很容易和该命令以及附近命令的输出混杂在一起. 在寻找之前命令的结果的时候, 眼睛看起来会很累. WinDBG提供了一个选项, 通过这个选项, 你可以把命令输入与输出的颜色进行设置. 选项名: Prompt level command window text Prompt level command windows text ba... 阅读全文

posted @ 2010-07-06 11:31 中道学友 阅读(1031) 评论(1) 推荐(1) 编辑

如何将WinDBG中命令的输出保存到文本文件中?
摘要:从本质上说, 这个功能是WinDBG的日志功能的一个应用而已. WinDBG的log功能可以记录你在WinDBG中使用的每一个命令以及其对应的输出. 那么如何开启WinDBG的日志功能呢? 首先, 可以选择从命令行中启动WinDBG. 举例, 使用下面的带有-logo参数的命令: 其次, 如果你已经在一个debug session里了, 你可以使用.logopen命令来开始记录.回答本文标题中... 阅读全文

posted @ 2010-07-06 00:25 中道学友 阅读(4779) 评论(0) 推荐(0) 编辑

The call to LoadLibrary(YourExtensionName) failed, Win32 error 0n14001, “This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.”
摘要:使用WinDBG, 有时需要加载一些第三方的debugger extension. 这些extension会提供一些功能, 比如说dump特定类型信息等, 帮助你完成debugging的任务. 在加载第三方debugging extension的时候, 如果你遇到了类似标题中的错误, 该怎么办呢? 原因 ========= 这个第三方的extension的开发平台在出现问题的机器上不存在. ... 阅读全文

posted @ 2010-07-03 11:28 中道学友 阅读(4583) 评论(0) 推荐(0) 编辑

在WinDBG中使用foreach
摘要:我们可以使用.foreach命令来加工一个或多个debugger命令的输出结果, 可以把结果集中的每一条结果作为参数传递给一个或多个其他的命令. 语法: .foreach [Options] ( Variable { InCommands } ) { OutCommands }.foreach [Options] /s ( Variable "InString" ) { OutCommands ... 阅读全文

posted @ 2010-06-16 10:58 中道学友 阅读(1169) 评论(0) 推荐(0) 编辑

研究托管内存问题时涉及到的工具, 计数器, 和WinDBG命令
摘要:Window 任务管理器 ============== Mem Usage 表示的是进程工作集(就像进程\工作集性能计数器)。它并不表示所使用的字节数(committed bytes)。 VM Size 反映的是供进程使用的字节数(就像进程\专用字节数性能计数器)。VM Size 可提供关于您是否面临内存泄漏问题的第一线索(如果您的应用程序存在泄漏,则 VM Size 会随时间增加). GC 性... 阅读全文

posted @ 2010-06-06 15:19 中道学友 阅读(1051) 评论(0) 推荐(0) 编辑

如何在进程创建的过程中Attach上WinDBG
摘要:在排查服务启动时错误的时候, debugger会运行在后台, 我们无法与之交互. 因为服务是运行在一个不同的winstation里的, 这意味着我们不能通过desktop与它们交互. 这也意味着, 已经加载了的debugger即使在运行, 也是运行在后台, 我们无法与它交互. 解决方案是进入services.msc, 找到这个服务的属性, 让它使用local system账号运行, 然后勾选选项... 阅读全文

posted @ 2010-06-04 00:11 中道学友 阅读(1757) 评论(0) 推荐(0) 编辑

WinDBG 常用命令表
摘要:启动, 附加进程, 执行和退出(Starting, Attaching, Executing and Exiting) ======================= Start -> All Programs -> Debugging Tools for Windows -> WinDBG 启动 F6 attach to process 附加到进程 Ctrl-Break ... 阅读全文

posted @ 2010-05-30 23:19 中道学友 阅读(3645) 评论(0) 推荐(0) 编辑

在WinDBG中, 使用.shell命令来搜索字符串
摘要:对于我来说, 使用WinDGB时最有用的命令之一就是.shell命令了. Debugging Tools For Windows帮助文件说: .shell命令能加载一个shell进程, 并重定向它的输出到debugger中, 或者重定向到一个指定的文件里. 那么为什么我觉得加载一个shell进程会对日常工作有帮助呢? 加载shell进程最简单最常用的功能就是搜索字符串. 你也许会想, 为什么不在... 阅读全文

posted @ 2010-05-30 22:23 中道学友 阅读(2957) 评论(0) 推荐(0) 编辑

SOS 的帮助输出
摘要:SOS是一个debuger的扩展DLL, 它的设计目标就是帮助我们debug托管程序. 下面的命令是按照类别排列的, 然后大致上是按照重要性进行的排序. 摘自 Windbg的帮助输出 !help 阅读全文

posted @ 2010-03-30 10:53 中道学友 阅读(316) 评论(0) 推荐(0) 编辑

WinDbg.exe中使用的SOS.dll的命令列表
摘要:SOS Debugging Extension (SOS.dll) 可以在WinDgb.exe和Visual Studio中通过提供CLR内部环境信息的方式, 帮助你debug托管程序. 这里的命令列表在WinDbg的帮助中是找不到的. 列在下面, 备查. Command Description BPMD [<module name> <method name>] [-m... 阅读全文

posted @ 2010-03-29 12:47 中道学友 阅读(2310) 评论(0) 推荐(0) 编辑

记一次看DUMP的实战
摘要:命令: .sympath srv*d:\symcache*\\symbols\symbols 解释: The .sympath command changes the default path of the host debugger for symbol search. 命令: .reload /f ntdll.dll 解释: The .reload command deletes all s... 阅读全文

posted @ 2010-03-15 17:49 中道学友 阅读(469) 评论(0) 推荐(0) 编辑

如何在x64的机器上使用WinDBG来debug一个32bit的.NET应用程序
摘要:遇到一个错误: The call to LoadLibrary(C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos) failed, Win32 error 0n193 搜索发现下面的文章, 要点陈列如下. 未完... 原文地址: How to use Windbg to debug a dump of a 32bit .NET app run... 阅读全文

posted @ 2010-03-15 14:21 中道学友 阅读(805) 评论(0) 推荐(0) 编辑

Deferred Symbol Loading
摘要:默认情况下, symbol信息实际上并不是在target module加载的时候被加载的. 取而代之的是, symbol是在debugger需要的时候再加载的. 这叫做deferred symbol loading 或 lazy symbol loading. 当这个选项开启的时候, debugger会在任何它遇到一个不认识的symbol的时候加载symbols. 摘自: Debugging ... 阅读全文

posted @ 2010-03-15 13:57 中道学友 阅读(415) 评论(0) 推荐(0) 编辑

在进程崩溃的时候自动抓取一个DUMP文件
摘要:在如下的情况下需要使用这样的技巧: 1. 生产环境上出问题, 我们需要抓取dump文件, 在线下去debug. 2. 正在运行一大堆测试, 当其中一个崩溃的时候, 不希望在运行时干扰整个测试动作, 仅需要收集一些测试信息. 3. 问题在连接到debugger后无法重现. 简单来说, 就是你希望在对环境影响最小的前提下, 抓取尽可能多的信息. 为了满足这种需求, 最好的方式是配置 just-in-... 阅读全文

posted @ 2010-03-08 22:10 中道学友 阅读(11561) 评论(0) 推荐(2) 编辑

关于DUMP的基础知识
摘要:什么是内存转储文件, 即dump? ====================== 内存转储文件时一个进程或系统在某一给定的时间的快照. dump文件的种类有很多, 不同种类的dump文件包含不成程度的数据. 用户态内存转储文件 VS 内核态内存转储文件 ====================== 如果你抓一个进程的dump文件, 那么你抓取的是用户态的dump文件. 如果你抓取整个系统的内存d... 阅读全文

posted @ 2010-03-07 15:03 中道学友 阅读(8149) 评论(0) 推荐(0) 编辑

Symbol
摘要:Symbol能够包含以下的一些信息: 全局变量 局部变量 函数名称, 参数 结构体 源代码行号 有三种类型的Symbol export symbols是dll本身的一部分. 比如ntdll.dll和kernel32.dll暴露出很大一部分他们的函数, 以便于他们能够像API一样地调用, 但是大多数的dll会有很少的exported symbols. 大致上, export symbol... 阅读全文

posted @ 2010-03-07 14:11 中道学友 阅读(577) 评论(0) 推荐(0) 编辑

ADPlus
摘要:什么是ADPlus? =============== ADPlus是一个Microsoft Product Support Services (PSS) 的工具, 可以用来排查任何进程或者应用程序的停止响应(hang), 或者崩溃(crash)的错误. 经常地, 你可以使用ADPlus(ADPlus.vbs)作为Microsoft Internet Information Server (IIS)... 阅读全文

posted @ 2010-03-07 13:29 中道学友 阅读(7302) 评论(0) 推荐(1) 编辑

First chance exceptions 和 Second chance exceptions
摘要:每种类型的异常(如访问冲突或堆栈溢出)都可以作为First chance exceptions(第一次偶然发生的异常) 或 Second chance exceptions(第二次偶然发生的异常)对调试程序引发。 根据定义,除非未被错误处理程序正确地处理, 否则First chance exceptions是非致命的异常。如果的确未被错误处理程序正确地处理,那么它将作为Second chance... 阅读全文

posted @ 2010-03-07 12:57 中道学友 阅读(868) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

技术追求准确,态度积极向上

点击右上角即可分享
微信分享提示