Sign in
MSDN Blogs
Microsoft Blog Images
More ...
Browse by Tags
Search
Archives
Archives
May 2013
(2)
April 2013
(1)
December 2012
(1)
October 2012
(1)
September 2012
(1)
August 2012
(3)
July 2012
(1)
April 2012
(1)
January 2012
(1)
December 2011
(2)
November 2011
(3)
October 2011
(3)
September 2011
(1)
August 2011
(5)
July 2011
(6)
Tags
AeDebug
AppVerifier
ARM
BBT
C++
CLR
CPU
CRT
data breakpoint
debugger
Detours
FPO
funceval
IFEO
LTCG
MACRO
OutputDebugString
Pop Quiz
SEH
SOS
Visual Studio
Vulcan
watchpoint
WinDBG
Windows
Common Tasks
Blog Home
RSS for posts
RSS for comments
Tagged Content List
Blog Post:
Postmortem Debugging - Better Late Than Never
Reiley Yang
If there is a consistent repro, I would definitely prefer Early Debugging . However in the real life postmortem debugging seems to be unavoidable. There are three concepts I wish to clarify before digging into the details: AeDebug is a set of registry keys which specify the behavior when...
on
21 Oct 2012
Blog Post:
Using Function Evaluation in WinDBG
Reiley Yang
People who develop debuggers would know in theory you cannot have a perfect disassembler (especially for x86) and stepper (especially for Step Over). People who develop commercial debuggers would know Function Evaluation (a.k.a. funceval) is a big challenge while implementing an Expression Evaluator...
on
18 Aug 2012
Blog Post:
Collection of WinDBG resources
Reiley Yang
A list of resources related to WinDBG, debugging on Windows NT, or how to write a debugger. Websites Dmitry Vostokov's www.dumpanalysis.org Geoff Chappell - Software Analyst Robert Kuster's windbg.info Oleg Starodumov's debuginfo.com OSR Online Toby Opferman's CodeProject Articles...
on
28 Jul 2012
Blog Post:
What is Autos Window?
Reiley Yang
The developers in Microsoft have done a great job by bringing a great number of nice features, however, some of these features are poorly documented or even not documented at all. Autos Window in the Visual Studio Debugger is one of the best example of the gaps between implementation and documentation...
on
7 Nov 2011
Blog Post:
Early Debugging
Reiley Yang
Early debugging is a wide topic, on a Windows PC it might be: Application startup Service startup WinLogon CSRSS ( Client/Server Runtime Subsystem ) Windows Setup and OS Loader MBR ( Master boot record ) BIOS POST ( Power-on self-test ) Application Startup As we have...
on
30 Oct 2011
Blog Post:
Undocumented WinDBG
Reiley Yang
Abstraction and encapsulation are good because they make it easier to build complex systems, however, there are times you have to peek inside the abstraction and demistify the encapsulation. This is especially true for debugging and performance tuning (I will not talk about reverse engineering this time...
on
30 Oct 2011
Blog Post:
Use Windows Debuggers for Non-Debugging Tasks
Reiley Yang
Many people who has been using Emacs for decades were shocked when they heard that Emacs is actually a text editor instead of an operating system. - vi advocator Sharing a similar spirit as Emacs , Windows Debuggers are also super good at non-debugging tasks. Calculator The builtin expression...
on
23 Oct 2011
Blog Post:
Side Effects of Debugger
Reiley Yang
A target program might behave differently if it is being debugged, sometimes this can be very annoying. Also, these behavior deviations can be leveraged by anti-debugging . IsDebuggerPresent and CheckRemoteDebuggerPresent are well known APIs to tell if a program is attached by a debugger. 0:000>...
on
27 Aug 2011
Blog Post:
Pop Quiz - Debug Event Loop and Timeslice Quota
Reiley Yang
You might have heard of the Popek and Goldberg Virtualization Requirements . In theory, debugger shares a similar set of problems as virtualization, this is especially true for func-eval (Function Evaluation). Here goes a pop quiz about the side effects of the presence of debugger: #define WIN32_LEAN_AND_MEAN...
on
8 Aug 2011
Blog Post:
A Debugging Approach to IFEO
Reiley Yang
IFEO ( Image File Execution Options ) is a feature provided by the NT based operating system. It can be helpful when you are trying to debug at the very beginning of an application launch. A few people also taked about IFEO on MSDN Blogs: Image File Execution Options by Junfeng. Inside 'Image...
on
29 Jul 2011
Blog Post:
A Debugging Approach to OutputDebugString
Reiley Yang
Using OutputDebugString is a common debugging technique for user mode debugging. It is easy but quite useful if you are debugging services or trouble shooting loader problem. #define WIN32_LEAN_AND_MEAN #include <Windows.h> int __cdecl main() { OutputDebugStringA( "Hello, world...
on
29 Jul 2011
Blog Post:
Data Breakpoints
Reiley Yang
The Visual Studio debugger supports a kind of breakpoint called Data Breakpoint , sometimes it is also called watchpoint. Data breakpoint is architecture dependant, as it requires hardware support provided by CPU. For x86, this will be the DR ( Debug Register ). The following code demonstrates how...
on
21 Jul 2011
Blog Post:
Hello, world...
Reiley Yang
Yet another Hello World... Well, my name is Reiley Yang. I'm a developer working on the Visual Studio debugger. I would like to use this technical blog to share my understanding of debuggers. Previously I have also been working on the C++ libraries (ATL, CRT, MFC, STL) and compiler front-end, so I...
on
11 Jul 2011
Page 1 of 1 (13 items)