Windbg基本命令应用总结
.cordll -ve -u -l //reload core dlls
------加载下载系统文件符号的URL----------
.sympath SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
---------加载.net组件------- ---------------
.loadby sos clr
.load psscor4
-----------------Memory查看-------------------------
!dumpheap -stat //all .net objects statistics
!dumpheap -mt 000007feed866738 -min 80000 -max 90000 -stat //object size statistic
!dumpheap -mt 000007feed866738 -min 80000 //object in range addres list
!heap -s //shows heap summary
!heap -stat -h 00000000003a0000 //shows the heap statistics for the specified heap
!heap -flt s 1f64 //filters all other blocks of heap and displays the details of blocks having size 1f64
!heap -p -a UsrPtr //displays the call stack for UsrPtr
!traverseheap d:\HeapStatus.log //dump heap log, analyze by CLRProfiler
-----------------CPU------------------------------
!threads //show manage and unmanaged threads
!threadpool // show cpu usage and thread pool statistics
!runaway //show running threads and their cpu consuming
!threads -special //show all threads including gc, finalizer etc.
----------------堆栈查看----------------------------
~*e!mk //show all threads stack
~*kb 2000 //Examine the native callstacks
~*e!clrstack //Examine the .net callstacks 所有线程调用堆栈
!dso //find the objects on the stack
!clrstack 当前线程托管方法调用堆栈
k查看调用堆栈
!finalizequeue
!gcroot <address of string> 被根化(rooted)到哪里(即为什么它们不会被回收)
!eeHeap -gc查看.net GC 堆的大小
kb 2000产看当前线程本地(原生)调用堆栈
~* kb 2000 得到所有查看本地资源的callstack 触发GC的函数(mscorwks!)SVR::GCHeap::GarbageCollectGeneration)
GC 线程gc_heap::gc_thread_stub等待GC完成(GCHeap::WaitUntilGCComplete
------查看请求的url----
!aspxpages
!clrusage
//gcroot all the objects, find where the object created .foreach (obj {!dumpheap -mt 000007fef4c3da30 -short}) {!gcroot obj; .echo -----}
--------------------异常查看---------------
!pe 查看异常
!dso 查看栈上的对象
!pe [Object]打印出原先的异常,查看输出的信息 !SaveModule <Base address> <Filename> base Address还可以通过lm命令查看
!syncblk,查看线程中,锁的信息
------------------自动分析----------------------
!analyze
------------------服务器上dump文件的方法-----
1.服务器上使用windows任务管理器,选择进程创建转储文件即可。
2.Debugging Tools for Windows里提供了一个好工具, 其路径与Debugging Tools for Windows的安装路径相同,使用的方法如下所示: 在命令行模式下进入工具所在目录执行: adplus.exe -hang -p 1234 -o d:\dump
-p需要抓取文件的进程ID
-o文件输出的路径
adplus.exe -hang -p 33668 -o d:\dump
adplus.exe -crash -p 33668 -o d:\dump
当前安装包名称:X64 Debuggers And Tools-x64_en-us.msi
常用插件:
psscor4.dll下载地址: http://www.microsoft.com/download/en/details.aspx?id=21255
SOS.dll 获取地址:C:\Windows\Microsoft.NET\Framework\v2.0.50727
Windbg基本命令应用总结的更多相关文章
- windbg基本命令
1, .reload k 当前调用堆栈.u 当前正在执行的代码. 2, ~ 查看被调试进程中的线程信息每一行是一个线程的信息.第一行中,0 表示这个进程的编号:1ff4.1038 是 16 进制数字, ...
- .Net Memory -- Windbg基本命令
命令 解释 .cls 清空命令窗口屏幕 .load dllfullpath 加载debugger扩展dll如SOS sosex psscor. .loadby dll moduleName 加载deb ...
- Windbg Extension NetExt 使用指南 【2】 ---- NetExt 的基本命令介绍
摘要 : 本章节介绍NetExt常用的命令. 并且对SOS进行一些对比. NetExt的帮助 要想玩好NetExt, 入门就得看帮助. 看NetExt的帮助可以调用!whelp 命令. 这样hi列举出 ...
- Windbg调试命令详解
作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe.ntsd. ...
- Windbg使用简明指南
第一章 准备 1.1. 环境配置 _NT_DEBUGGER_EXTENSION_PATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 _NT_SY ...
- windbg调试.net程序
1. 解决线上.NET应用程序的如下问题: 崩溃 CPU高 程序异常 程序Hang死 2. 安装WinDbg: http://msdn.microsoft.com/en-us/windows/hard ...
- windbg命令分类与概述
WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. =============== 标准命令 =============== 标准命令用 ...
- Windbg简单介绍
1.1 使用帮助 Windbg中的命令分为三种:基本命令.元命令和扩展命令.基本命令和元命令都是调试器自带的,元命令以" ."开头. 扩展命令是外部加入的,以"!&quo ...
- windbg命令学习1
一.windbg 常用知识: 1. Windbg中的调试命令,分为三种:基本命令,元命令和扩展命令.基本命令和元命令是调试器自带的,元命令总是以“.”开头,而扩展命令是外部加入的,总是以感叹号“!”开 ...
随机推荐
- PHP 获取中英文混合字符串长度
通常情况下要想掌握一个字符串变量的长度[一般掌握其字数],自然想到 strlen |-- $str = 'string'; echo strlen($str); //6 .csharpcode, ...
- MySQL 实用技巧
概述: MySQL有许多实用的技巧,利用这些技巧能提高工作的效率,减少一些不必要的麻烦.以下是几个我在MySQL日常维护从常用的技巧. 一.prompt 命令 功能:设置mysql客户端提示符 说明: ...
- linux 下 Linux 下char转换为wchar_t 设置本地为utf-8编码 以及wchar 的输入输出
LInux下使用mbstowcs函数可以将char转化为wchar_t函数含义:convert a multibyte string to a wide char string说明: Th ...
- HDU1576 A/B
暴力出奇迹,我就知道没取余那么正当,肯定有什么奇淫怪巧,果然5分钟A掉. #include<cstdio> #include<cstdlib> #include<iost ...
- BZOJ2095 POI2010 Bridges 【二分+混合图欧拉回路】
BZOJ2095 POI2010 Bridges Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛 ...
- TLS支持版本检测
今天有开发同事询问“生产环境的TLS版本是多少”,这个问题还真没太关注过,首先想到的是通过Chrome浏览器的开发者工具查看一下,访问https页面查看如下: 这太概是说使用了TLS1.2,于是截图给 ...
- [BZOJ5073][Lydsy1710月赛]小A的咒语
bzoj description 你有一个\(A\)串和\(B\)串,你需要判断是否可以在\(A\)串中拆出\(x\)个互不相交的子串,使它们按顺序拼在一起可以组成\(B\)串. \(|A|,|B|\ ...
- mock的使名用一(生成随机数据)
Mock.Random 是一个工具类,用于生成各种随机数据. Mock.Random 的方法在数据模板中称为『占位符』,书写格式为 @占位符(参数 [, 参数]) . var Random = Moc ...
- 通过openresty && tengine && nginx 动态添加资源到 html 页面
1. 目标 不用修改后端代码,但是还需要进行js .css 等资源文件的加载 主要的场景是进行统计分析 2.技术实现 通过服务器扩展进行动态添加 iis 可以添加模块,nginx 可以使用 sub_ ...
- jdk、jre、JVM的简单区别与联系
2015-10-20 23:08:52 (1)jdk Java development toolkit(开发工具包),JDK是整个JAVA的核心,包括了Java运行环境jre(Java Runtime ...