.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基本命令应用总结的更多相关文章

  1. windbg基本命令

    1, .reload k 当前调用堆栈.u 当前正在执行的代码. 2, ~ 查看被调试进程中的线程信息每一行是一个线程的信息.第一行中,0 表示这个进程的编号:1ff4.1038 是 16 进制数字, ...

  2. .Net Memory -- Windbg基本命令

    命令 解释 .cls 清空命令窗口屏幕 .load dllfullpath 加载debugger扩展dll如SOS sosex psscor. .loadby dll moduleName 加载deb ...

  3. Windbg Extension NetExt 使用指南 【2】 ---- NetExt 的基本命令介绍

    摘要 : 本章节介绍NetExt常用的命令. 并且对SOS进行一些对比. NetExt的帮助 要想玩好NetExt, 入门就得看帮助. 看NetExt的帮助可以调用!whelp 命令. 这样hi列举出 ...

  4. Windbg调试命令详解

    作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe.ntsd. ...

  5. Windbg使用简明指南

    第一章 准备 1.1.    环境配置 _NT_DEBUGGER_EXTENSION_PATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 _NT_SY ...

  6. windbg调试.net程序

    1. 解决线上.NET应用程序的如下问题: 崩溃 CPU高 程序异常 程序Hang死 2. 安装WinDbg: http://msdn.microsoft.com/en-us/windows/hard ...

  7. windbg命令分类与概述

    WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. =============== 标准命令 =============== 标准命令用 ...

  8. Windbg简单介绍

    1.1 使用帮助 Windbg中的命令分为三种:基本命令.元命令和扩展命令.基本命令和元命令都是调试器自带的,元命令以" ."开头. 扩展命令是外部加入的,以"!&quo ...

  9. windbg命令学习1

    一.windbg 常用知识: 1. Windbg中的调试命令,分为三种:基本命令,元命令和扩展命令.基本命令和元命令是调试器自带的,元命令总是以“.”开头,而扩展命令是外部加入的,总是以感叹号“!”开 ...

随机推荐

  1. Ubuntu连接手机步骤

    第一次使用adb之前,需要在home/.android里新建adb_usb.ini文件:0x1782. 注:adb已在安装系统后装好,手机要处于开机状态 查看设备命令: $ adb devices 正 ...

  2. Swift 菊花、UIPageControl和UIProgressView

    // Make: 加载 菊花 func _initUIActivityIndicatorView() { let activity = UIActivityIndicatorView(activity ...

  3. [剑指offer]数组中最小的K个数,C++实现

    原创博文,转载请注明出处! http://github.com/wanglei5205 http://cnblogs.com/wanglei5205 # 题目 输入n个整数,找出其中最小的K个数.例如 ...

  4. 读《the facebook effect》

    现在觉得时间越来越少,特别是抽出时间读书都感觉是一种奢侈. 今天把facebook读完了,想记录下自己的体会.不知该从什么地方写起.以前,曾注册过一个facebook帐号,一直没登过,好像从那时起,f ...

  5. appium-java,同时连接多台机器,启动微信

    1.配置appium信息 第一台机 第二台机类似,连接端口和监听端口不能重复 2.appium连接手机,微信中打开debugx5.qq.com,信息->TBS settings->是否打开 ...

  6. 拦截器springmvc防止表单重复提交【3】3秒后自动跳回首页【重点明白如何跳转到各自需要的页面没有实现 但是有思路】

    [1]定义异常类 [重点]:异常类有个多参数的构造函数public CmsException(String s, String... args),可以用来接受多个参数:如(“异常信息”,“几秒跳转”, ...

  7. HTML5移动Web开发指南-学习笔记(一)

    一,浏览器引擎    浏览器的内核引擎,基本上是四分天下: Trident: IE 以Trident 作为内核引擎; Gecko: Firefox 是基于 Gecko 开发; WebKit: Safa ...

  8. 为什么委托的减法(- 或 -=)可能出现非预期的结果?(Delegate Subtraction Has Unpredictable Result)

    当我们为一个委托写 -= 的时候,ReSharper 会提示“Delegate Subtraction Has Unpredictable Result”,即“委托的减法可能出现非预期的结果”.然而在 ...

  9. HTTP Client Performance Improvements

    HTTP Client Performance Improvements https://blogs.msdn.microsoft.com/webdev/2018/10/17/asp-net-core ...

  10. pipeline的存储代码

    在spider中最后一个函数返回item时会scrapy会调用pipeline里面的 process_item(self, item, spider):函数并传入item,spider等参数在这里可以 ...