Sign in
Debugging Toolbox
Windbg scripts, debugging and troubleshooting tools and techniques to help you isolate software problems.
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
About
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Tags
ASP
Books
Breakpoints
Call Stack
Crash
Disassembly
Exceptions
Hang
Heap Corruption
High CPU
Interview
Just For Fun
Magic Pointers
Memory Leak
Modules
NetWiz Tool
PE Headers
Performance Bottlenecks
Performance Monitor
Personal
PowerDbg Library
PowerDbg Scripts
PowerShell Scripts
Random Thoughts
Read Me
Reporting Services
Serviced Components
SharePoint
Sherlock Tool
Special Commands
SQL Commands
SQL Connections
Stack Corruption
Symbols
Threads
Tracing
Troubleshooting
Windbg Scripts
Archive
Archives
October 2012
(1)
May 2012
(1)
March 2012
(1)
October 2011
(1)
September 2011
(1)
February 2011
(1)
October 2010
(1)
August 2010
(1)
May 2010
(1)
March 2010
(2)
January 2010
(1)
December 2009
(1)
November 2009
(1)
October 2009
(2)
September 2009
(3)
August 2009
(5)
May 2009
(1)
April 2009
(2)
March 2009
(3)
February 2009
(3)
January 2009
(1)
November 2008
(2)
October 2008
(1)
September 2008
(2)
August 2008
(5)
July 2008
(5)
June 2008
(5)
May 2008
(1)
April 2008
(7)
March 2008
(5)
February 2008
(4)
January 2008
(2)
December 2007
(2)
October 2007
(1)
September 2007
(2)
August 2007
(1)
July 2007
(4)
June 2007
(2)
May 2007
(3)
April 2007
(5)
March 2007
(5)
MSDN Blogs
>
Debugging Toolbox
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Debugging Toolbox
Tools for Your Debugging Toolbox
Posted
7 months ago
by
rafarah
5
Comments
This article was just updated to include an internal Microsoft tool that is now public. There are many free tools used to troubleshoot and debug software. Below I present a list of the tools that my peers and I use most of the time. Though most of...
Debugging Toolbox
D3v3l0p3r PF3s – 0bs3rv1ng Th3m in Th31r Natural Hab1tat
Posted
over 1 year ago
by
rafarah
2
Comments
PFE has engineers who specialize in areas which can contain one or more technologies. This species is universally known as D3v PF3 (Developer PFE). Not everyone really knows their habits and role and, as a consequence, sometimes it’s hard for customers...
Debugging Toolbox
[WinDbg Script] Displaying the COM object referenced by an RCW object
Posted
over 1 year ago
by
rafarah
4
Comments
Here we go again after a long time without blogging and an even longer time without blogging about WinDBG scripts. When debugging dump files from .NET applications sometimes we may encounter a situation where we want to get the COM object referenced...
Debugging Toolbox
Top Things to Consider When Troubleshooting Complex Application Issues
Posted
over 2 years ago
by
rafarah
0
Comments
1- For reactive incidents: “Bring the engineer onsite because it is going to be easier to isolate the problem.” This is the most common misconception I’ve heard. Let me explain: most complex problems require deep debugging sessions...
Debugging Toolbox
New Debugging Book – Windows Debugging Notebook: Essential User Space WinDbg Commands
Posted
over 2 years ago
by
rafarah
2
Comments
A reference book for technical support and escalation engineers troubleshooting and debugging complex software issues. The book is also invaluable for software maintenance and development engineers debugging Windows applications and services. Do...
Debugging Toolbox
[PowerShell Script] PowerDbg v6.0 – Using PowerShell to Control WinDbg
Posted
over 2 years ago
by
rafarah
7
Comments
Last October the latest version of the PowerDbg tool was released, version 6.0. This release has major changes. For example, it is now easier to write scripts or otherwise just hack around the debugger, and includes the PowerDbgConsole, a bootstrapper...
Debugging Toolbox
[PowerShell Script] Troubleshooting for Port Exhaustion Using NetStat
Posted
over 3 years ago
by
rafarah
5
Comments
Problem Description: Applications that use a great deal of TCP network activity may use all of the possible port numbers -- especially if they are very “chatty”. By default, when an application closes a TCP connection, the port number used...
Debugging Toolbox
[WinDbg Script] Displaying Parameters for Microsoft.ReportingServices.ReportProcessing
Posted
over 3 years ago
by
rafarah
2
Comments
Here is a new script from a PFE from Portugal, Marcio Parente. Marcio kindly shared his source code in this blog post, so here is the story behind the script followed by its source code. One report on a Reporting Server started to give this...
Debugging Toolbox
New PowerDbg – I Need Your Help
Posted
over 3 years ago
by
rafarah
0
Comments
First, let me fix the title. It should be: “New PowerDbg – We Need Your Help”. I explain, a few weeks ago I received an e-mail from Piers Williams , a developer from Australia. Piers mentioned his blog article related to PowerDbg...
Debugging Toolbox
PSSCOR2, the Superset of SOS.DLL is Now Public!!!
Posted
over 3 years ago
by
rafarah
2
Comments
Whenever I’m debugging with customers watching it’s inevitable: they always ask me what this PSSCOR2.dll extension is. The next question is always if PSSCOR2.DLL is going to be public. PSSCOR2.DLL is a superset of SOS.DLL and has much more commands...
Debugging Toolbox
XPerf Tool – Why Can’t You Live Without It?
Posted
over 3 years ago
by
rafarah
7
Comments
Israel Burman (Israel is one of the ADPlus creators and the guy who taught me the XPerf tool) and Mario Hewardt told me I should blog about the XPerf tool. Although I’m new to this tool I decided to follow their suggestions because I believe you’re...
Debugging Toolbox
Special Command—Editing memory with a, eb, ed, ew, eza, ezu
Posted
over 3 years ago
by
rafarah
0
Comments
When talking about editing memory, we usually think about patching code. Patching code means changing the binary code in memory for, let’s say, when you want to prove a hypothesis while debugging and you don’t have access to the source code. This is...
Debugging Toolbox
[PowerShell Script] PowerDbg v5.3—Using PowerShell to Control WinDbg
Posted
over 4 years ago
by
rafarah
2
Comments
This version has a fix in Parse-PowerDbgDSO . Thanks to Igor Dvorkin that found the bug and suggested the fix. DOWNLOAD POWERDBG Download PowerDbg POWERDBG FILES WinDbg.PSM1 ß Starting with this version this is the only file...
Debugging Toolbox
Special Command—Unassembling code with u, ub and uf
Posted
over 4 years ago
by
rafarah
2
Comments
When debugging sooner or later you will need to disassemble code to get a better understanding of that code. By disassembling the code, you get the mnemonics translated from the 0s and 1s that constitute the binary code. It is a low level view of the...
Debugging Toolbox
Special Command—Using # to Find Patterns of Assembly Instructions
Posted
over 4 years ago
by
rafarah
0
Comments
Sometimes you need to look for patterns of disassembled code. You can browse the disassembled code and manually look for a specific pattern, or you can use a command to automate it. The # command does that. # [Pattern] [Address [ L Size ]] ...
Debugging Toolbox
Special Command—Tracing Applications Using wt
Posted
over 4 years ago
by
rafarah
1
Comments
wt [WatchOptions] [= StartAddress] [EndAddress] Transcribing the WinDbg documentation, this command runs through the whole function and then displays statistics when executed at the beginning of a function call. Thus, this command can be used just...
Debugging Toolbox
Special Command—Saving Modules Using .writemem
Posted
over 4 years ago
by
rafarah
1
Comments
This command enables you to save memory into a disk file. The cool thing about it is that you can save modules too; however, it is just the raw memory. The parameters are: .writemem <filename> <range> Here is an example...
Debugging Toolbox
Special Command—Using .dump/.dumpcab to Get Dumps and Symbols from Production Servers
Posted
over 4 years ago
by
rafarah
3
Comments
Using WinDbg you can create a dump file from an application running, for instance, in a production server. After collecting the dump file, you can load it in another machine and debug it. However, to be more effective during your debugging session you...
Debugging Toolbox
Special Command—Using !chksym/!itoldyouso to Check PDB Files Against Modules
Posted
over 4 years ago
by
rafarah
0
Comments
These are two debugger extensions that are used to see the PDB file that matches a specific module. Note that !itoldyouso is not documented. The output of both commands is identical. Usage: 0:025> !chksym ntdll ntdll.dll Timestamp...
Debugging Toolbox
Special Command—Displaying Information From Modules/DLLs with !dlls
Posted
over 4 years ago
by
rafarah
2
Comments
!dlls extension displays the table entries of all loaded modules. You can also use it to display all modules that a specified thread or process is using. The WinDbg help file describes all parameters. Here we are going to show the most common usage...
Debugging Toolbox
Special Command—Using !for_each_frame to Run Commands
Posted
over 4 years ago
by
rafarah
2
Comments
!for_each_frame is a favorite among debuggers. It's a very flexible and powerful command that enables you to run commands for each frame of the call stack. You can use basically any command. For instance, let’s say you want to see all local variables...
Debugging Toolbox
Special Command—Displaying More PE Header Information with !dh
Posted
over 4 years ago
by
rafarah
0
Comments
The !dh extension displays the PE header information from a specified module. Usage: !dh [options] <addressOfModule> Options can be: -f Displays file headers. -s Displays section headers. -a Displays all...
Debugging Toolbox
Special Command—Displaying the PE Header Information with !lmi
Posted
over 4 years ago
by
rafarah
0
Comments
Like its cousin !dh, the !lmi extension displays the PE header information from a specified module. However, it gives you fewer details than !dh . The output is summarized. Usage: !lmi <moduleName> Examples: 0...
Debugging Toolbox
Special Command—CPU Time for Each Thread with !runaway
Posted
over 4 years ago
by
rafarah
0
Comments
This is one of my favorite commands! !runaway displays information about the CPU time consumed by each thread in User Mode and Kernel Mode. It is one of those commands you run when you think the application is hung with low or high CPU or has some...
Debugging Toolbox
[Recommended Books] Advanced .NET Debugging book – Preview
Posted
over 4 years ago
by
rafarah
15
Comments
For the second time I have had the privilege of being one of the reviewers for another debugging book. This time I’m referring to Mario Hewardt ’s new book: Advanced .NET Debugging. It was a great learning process. After months of reviewing chapters...
Page 1 of 4 (98 items)
1
2
3
4