debugging tools
https://blogs.msdn.microsoft.com/debugdiag/
https://blogs.msdn.microsoft.com/debuggingtoolbox/2012/10/04/tools-for-your-debugging-toolbox/
TOOLS
– Performance Monitor – PAL
– Process Monitor
– Process Explorer
– MPSReport
– SPSReport
– SPDisposeCheck
– Dependency Walker
– SQL Nexus
– LogParser
– Indihiang
– PowerShell
– Application Verifier
– Logger/LogViewer
ADVANCED TOOLS
– XPerf – Windows Performance Analyzer
– PerfView – Low Level Profiler for .NET applications
– DebugDiag – Debug Diagnostic
– ProcDump – Process Dump
– WinDbg – Windows Debugging Tools
– WinDbg Scripts – Automate the Debugging
– Netmon – Microsoft Network Monitor
– Fiddler – HTTP Debugger Proxy
– NP .NET Profiler – Lightweight profiler designed to assist in troubleshooting issues such as slow performance, memory related issues, and first chance exceptions in .NET applications
BRIEF SUMMARY OF EACH TOOL
Performance Monitor
– Use to get information about the application’s health.
– Use to see if and when the suspicious symptom happens.
– Save a log file. It can be analyzed later.
– Part of the Windows Operating System.
PAL (Performance Analysis of Logs)
– The PAL tool reads in a Performance Monitor counter log (any known format) and analyzes it using complex, but known thresholds (provided).
– The tool generates an HTML based report which graphically charts important performance counters and throws alerts when thresholds are exceeded.
– The thresholds are originally based on thresholds defined by the Microsoft product teams and members of Microsoft support, but continue to be expanded by this ongoing project.
Download:
Process Monitor
– Capture of thread stacks for each operation make it possible in many cases to identify the root cause of an operation
– Reliable capture of process details, including image path, command line, user and session ID
– Filters can be set for any data field, including fields not configured as columns
– Advanced logging architecture scales to tens of millions of captured events and gigabytes of log data
– Process tree tool shows relationship of all processes referenced in a trace
– Boot time logging of all operations
Download:
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
Process Explorer
– Easy way to see information from processes.
– What is each thread doing? Call stack is available.
– How is the CPU usage? You can see the CPU usage, Kernel and User Mode.
– You can see which program has a particular file or directory opened.
– You can search for a specific handle or DLL among the processes running.
Download:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
MPSReport
– Check DLL’s versions, hotfixes, software updates.
– Compare if two machines have the same drivers, registry settings and softwares.
Download:
http://support.microsoft.com/kb/823393/
SPSReport
– Think of MPSReport for SharePoint.
– The SPS Reporting Tool is utilized to gather detailed information regarding a systems current configuration.
Download:
http://www.codeplex.com/spsreport
SPDisposeCheck
– The SPDisposeCheck utility will assist you dig through your custom SharePoint MSIL assemblies looking for areas in your code that may require “closer examination” and might lead to Dispose() related memory leaks.
– A manual code review is still required to cast out ‘false positives’ that the tool may produce in the output report
Download:
Best Practices:
http://msdn.microsoft.com/en-us/library/aa973248.aspx
Dependency Walker
– Scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules
– For each module found, it lists all the functions that are exported by that module.
– Detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.
– Useful for troubleshooting system errors related to loading and executing modules.
Download:
http://www.dependencywalker.com/
SQL Nexus
– You don’t need to be a DBA to use this tool. J
– You can quickly and easily load SQL Trace files; T-SQL script output, including SQL DMV queries; and Performance Monitor logs into a SQL Server database for analysis.
– Excellent tool for isolating problems on the SQL Server side.
Download:
http://www.codeplex.com/sqlnexus
Screenshots:
http://sqlnexus.codeplex.com/wikipage?title=SqlNexusReports&referringTitle=Home
CLRProfiler
– Focused on managed heap
– Who allocates what
– What objects survive
– What is on the heap
– Who is holding on to objects
– Instrumented application writes log
– Separate tool to analyze log offline
– Intrusive tool
– By default, every allocation, every call is logged
– Expect 10 – 100 x slowdown
– Logging can be turned off selectively for speedup
– Not a tool to measure where time is spent
Download:
How To: Use CLR Profiler
http://msdn.microsoft.com/en-us/library/ms979205.aspx
LogParser
– Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows® operating system such as the Event Log, the Registry, the file system, and Active Directory
Download:
Forum:
http://forums.iis.net/default.aspx?GroupID=51
Forensic Log parsing:
http://www.securityfocus.com/infocus/1712
Log Parser scripts:
http://blogs.iis.net/rakkimk/archive/2008/11/18/logparser-useful-logparser-scripts.aspx
http://blogs.msdn.com/carloc/archive/2008/02/06/logparser-scripts-for-various-occasions.aspx
http://blogs.technet.com/clinth/archive/2010/01/07/w3c-iis-log-analysis-using-log-parser.aspx
Visual LogParser tools:
http://www.codeplex.com/visuallogparser
Indihiang
– Based on LogParser
– Great tool to analyze IIS logs
– Generate great charts
– User interface easy to interact
– Downside: slower than running regular LogParser scripts
Download:
http://indihiang.codeplex.com/
PowerShell
– Why do you need to learn another scripting language?
– Less code than JScript and VBScript to accomplish the same task.
– Total integration with .NET Framework.
– Great for administrators and developers.
– In PFE we use PowerShell as the preferred programming language used to create tools!
– Alternative to LogParser tool.
Download:
PowerShell is part of Windows 7 and newer versions.
For other Windows versions you can download from:
PowerShell blog:
http://blogs.msdn.com/powershell/
Application Verifier (for Native coded applications)
– When the application is using APIs correctly:
– Unsafe TerminateThread APIs.
– Correct use of Thread Local Storage (TLS) APIs.
– Correct use of virtual space manipulations (for example, VirtualAlloc, MapViewOfFile).
– Whether the application is hiding access violations using structured exception handling.
– Whether the application is attempting to use invalid handles.
– Whether there are memory corruptions or issues in the heap.
– Whether the application runs out of memory under low resources.
– Whether the correct usage of critical sections is occurring.
– Whether an application running in an administrative environment will run well in an environment with less privilege.
– Whether there are potential problems when the application is running as a limited user.
– Whether there are uninitialized variables in future function calls in a thread’s context.
Download:
References:
http://msdn.microsoft.com/en-us/library/aa480483.aspx
http://technet.microsoft.com/en-us/library/bb457063.aspx
http://blogs.technet.com/askperf/archive/2009/05/22/two-minute-drill-application-verifier.aspx
Logger/LogViewer
– Logger.exe logs every API call done by the target application.
– LogViewer.exe displays the API calls logged by Logger.exe
– With LogViewer.exe you can specific APIs that were called, filtering the output.
Download:
Logger/LogViewer are part of the Debugging Tools For Windows:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Command reference for Logexts.dll extension:
http://msdn.microsoft.com/en-us/library/ff552064(v=VS.85).aspx
Calling Logexts.dll from WinDbg:
http://blogs.msdn.com/debuggingtoolbox/archive/2007/04/14/windbg-script-tracing-api-calls.aspx
ADVANCED TOOLS
XPerf
– A very efficient tracing infrastructure provided by Windows
– Enables high volume of tracing with minimal performance degradation
– Can be used in User Mode and Kernel Mode
– Provides many different graphical views of trace data including:
– CPU Sampling
– CPU and Disk utilization by process and thread
– Interrupt service routine and deferred procedure call using
– Hard faults
– Disk I/O Detail
– Call stacks
Download:
PerfView
– Tool for quickly and easily collecting and viewing time and memory performance data.
– Like XPERF, it is based on ETW (Event Tracing for Windows)
– 2 modes of execution:
– Optimizing Time.
– Optimizing Memory.
– Access to call stacks and Garbage Collector information.
– Low Level compared to other Profilers.
Download:
http://www.microsoft.com/en-us/download/details.aspx?id=28567
Tutorial:
http://channel9.msdn.com/Series/PerfView-Tutorial
DebugDiag
– You can create rules in order to collect dumps under specific conditions.
– Crash rule – used for exceptions.
– Performance rule – used for performance problems in any application, based on any Performance Monitor counter (like Procdump but with more options and UI). Also used for hangs or performance problems in IIS, based on internal ETW events.
– Memory and Handle Leak rule – for memory leaks coming from native code.
– Manual Dump collection– used in cases when the rules don’t apply, like performance.
– Automated Analysis feature – DebugDiag can debug the dump for you and present a report with the findings! The dump files don’t need to be collected with DebugDiag.
Download:
How to use the Debug Diagnostics tool to troubleshoot a process that has stopped responding in IIS
http://support.microsoft.com/kb/919792/en-us
How to use the IIS Debug Diagnostics tool to troubleshoot a memory leak in an IIS process
http://support.microsoft.com/kb/919790/en-us
How to use the IIS Debug Diagnostics Tool to troubleshoot an IIS process that stops unexpectedly
http://support.microsoft.com/kb/919789/en-us
How to use the Debug Diagnostics Tool to troubleshoot high CPU usage by a process in IIS
http://support.microsoft.com/kb/919791/en-us
A client application may intermittently receive an error message when a client application tries to create a COM+ component
http://support.microsoft.com/kb/911359/en-us
ProcDump
– Enables you to collect dump files when a specific application is consuming high CPU.
– You choose the CPU threshold to trigger the dump.
– Excellent for intermitent high CPU scenarios.
Download:
http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
WinDbg
– Free and powerful Microsoft debugger.
– More powerful than Visual Studio.
– Enables user mode debugging and kernel debugging.
– Post-Mortem debugging (dump analysis) and live debugging.
– Downside: More difficult to use than Visual Studio but worth learning.
Download:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Psscor2.dll – debugger extension:
Sosex.dll – debugger extension:
http://www.stevestechspot.com/
WinDbg Scripts
– Scripts are used to automate the debugging session.
– WinDbg Scripts are created with the WinDbg script language which is similar to C.
– WinDbg Scripts are great for small scripts.
Download:
http://blogs.msdn.com/debuggingtoolbox/
Netmon
– Use it when you suspect the bottleneck is network related.
– Collects logs from network activity.
– Easy way to visualize HTTP, TCP/IP and other types of network communication.
Download:
http://blogs.technet.com/netmon/
Parsers:
http://nmparsers.codeplex.com/
Fiddler
– Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet.
– If you think the network might be the bottleneck for the poor performance of your web application you can use Fiddler or Netmon.
Download:
http://www.fiddler2.com/fiddler2/
Instructional videos:
http://www.fiddler2.com/Fiddler/help
NP .NET Profiler
– Easy to use .NET Profiler, easier to use than Visual Studio.
– Used for issues such as slow performance, memory related issues, and first-chance exceptions in .NET applications.
– It can troubleshoot the following types of .NET applications:
- ASP.NET Web Applications
- .NET Windows Applications (WCF, WPF and WF )
- .NET Console Applications
- .NET Window Services
- .NET COM+ Components
- Azure Service
Download:
http://www.microsoft.com/en-us/download/details.aspx?id=35370
debugging tools的更多相关文章
- Debugging Tools for Windows__from WDK7
1. 主要要用到两个工具: (1).WinDBG 这个主要用于 非IDE下 调试程序/查看信息等 (2).cdb.exe 这个主要是用在 Qt5.3.2 for VS10 的单步调试器 2. WDK7 ...
- 安装Debugging Tools时出现错误Setup could not find the file WinSDK_amd64的处理
安装Debugging Tools时出现错误Setup could not find the file WinSDK_amd64的处理 1.软件来源: 微软官网下载SDK ISO安装包(含有debu ...
- Visual Studio 2010初学者的调试指南:Mastering Debugging in Visual Studio 2010 - A Beginner's Guide
Introduction In the software development life cycle, testing and defect fixing take more time than a ...
- Download the WDK, WinDbg, and associated tools
Download the WDK, WinDbg, and associated tools This is where you get your Windows Driver Kit (WDK) a ...
- SQL Debugging
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn>“C:\Program Files\Debugging ...
- Linux之一次性安装开发工具:yum groupinstall Development tools
[spark@sparksinglenode ~]$ yum grouplist | moreLoaded plugins: fastestmirror, refresh-packagekit, se ...
- troubleshooting tools in JDK 7--转载
This chapter describes in detail the troubleshooting tools that are available in JDK 7. In addition, ...
- 转:Remote debugging with Visual Studio 2010
Original URL http://www.codeproject.com/Articles/146838/Remote-debugging-with-Visual-Studio-2010 you ...
- android sdk tools 一览
ANDROID SDK ADKROID SDK的工具划分为两部分,一部分是SDK tools,与平台无关,另一部分是Platform tools支持最新的安卓平台 SDK tools有 SDK m ...
随机推荐
- 获取hadoop的源码和通过eclipse关联hadoop的源码
一.获取hadoop的源码 首先通过官网下载hadoop-2.5.2-src.tar.gz的软件包,下载好之后解压发现出现了一些错误,无法解压缩, 因此有部分源码我们无法解压 ,因此在这里我讲述一下如 ...
- 一群猴子排成一圈,按1,2,...n 编号,数到m只,踢出局,直到剩下最后一个猴子是大王
<?php/***function king*@param $m 数到m个数, $n 猴子个数*return int*/function king($m, $n){ //定义数组, 值为猴 ...
- 渐进记法(O,Ω,Θ)
第一次在<算法导论>中看到这三种渐进记法的符号,当时对此一窍不通,所以也就没有注意它们,直接把他们忽略了,知道学习算法的时候,才知道当初的做法有多傻,因为一个算法的好坏以及复杂度,可以用它 ...
- CSS样式选择器
<!-- css样式选择器 HTML选择器 类选择器 ID选择器 关联选择器 组合选择器 伪元素选择器 selector{ /* selector是样式选择器 property:value; / ...
- JQuery源码分析(五)
分离构造器 通过new 操作符构建一个对象,一般经过四部: A.创建一个新对象 B.将构造函数的作用域赋给新对象(所以this就指向了这个新对象) C.执行构造函数中的代码 D.返回这 ...
- ERP仓库管理系统(九)
需求分析: 1.设计库房表,至少包括两个字段,库房名称,库房所属公司的ID(在客户资质审批表中找到对应公司的ID) 2.设计增.删.改.查一套程序,其中的删除要做限制,只要有库存数据存在则不允许删除对 ...
- 利用NTP搭建自己的ntp服务
利用NTP搭建自己的ntp服务 发表于 2013 年 9 月 22 日 作者 admin 对于校园网/企业用户,如果您网内所有计算机都通过互联网同步时间,在速度和精度上都有一定的折扣,并且对互联网出口 ...
- 3、SQL基础整理(分组)
分组 group by select class from xuesheng group by class select class,AVG(chinese)from xuesheng group b ...
- 批处理中for循环多个%
实例:@echo offset NUM=10000for /f %%i in (字符.txt) do (set JSZF=%%ifor /L %%. in (0,1,%NUM%) do ( Call ...
- mysql实现高效率随机取数据
从数据库中(mysql)随机获取几条数据很简单,但是如果一个表的数据基数很大,比如一千万,从一千万中随机产生10条数据,那就相当慢了,如果同时一百个人访问网站,处理这些个进程,对于一般的服务器来说,肯 ...