Sign In
Mike Stall's .NET Debugging Blog
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Blog - Link List
Other Blogs
Andy Pennell's Blog
GreggM's Blog
Steve's Blog
Tim's .NET blog
Energy Policy
CLR blogs
Rick Byers (CLR)
List of all CLR blogs
David Broman (Profiling)
Thomas Lai's blog
Other links
All about MDbg
What's new in v2.0?
Who am I?
ICorDebug/MDbg Forums
Contact me?
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
RSS for posts
Atom
RSS for comments
OK
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
Compilers & Languages
Design
dlr
Edit-And-Continue (EnC)
Family
FuncEval
ICorDebug
Interop (mixed-mode)
linkfest
MDbg
Non-work
Pages
Python
Quiz
Random
random .net
reading
Sample Code
Silverlight
Testing
This should be in MSDN
Troubleshooting
versioning
Whidbey (V2.0)
Windows Live
Archive
Archives
November 2011
(1)
September 2011
(1)
December 2010
(1)
September 2009
(2)
July 2009
(1)
May 2009
(1)
February 2009
(1)
November 2008
(1)
June 2008
(1)
May 2008
(2)
April 2008
(3)
March 2008
(5)
February 2008
(2)
January 2008
(10)
December 2007
(7)
November 2007
(5)
October 2007
(16)
September 2007
(8)
August 2007
(12)
July 2007
(9)
June 2007
(5)
May 2007
(7)
April 2007
(4)
March 2007
(6)
February 2007
(5)
January 2007
(11)
December 2006
(9)
November 2006
(13)
October 2006
(9)
September 2006
(10)
August 2006
(6)
July 2006
(13)
June 2006
(10)
May 2006
(3)
April 2006
(4)
March 2006
(31)
February 2006
(16)
January 2006
(18)
December 2005
(11)
November 2005
(23)
October 2005
(12)
September 2005
(22)
August 2005
(31)
July 2005
(10)
June 2005
(7)
May 2005
(4)
April 2005
(5)
March 2005
(9)
February 2005
(16)
January 2005
(6)
December 2004
(3)
November 2004
(4)
October 2004
(14)
September 2004
(2)
10 Aug 2005
MSDN Blogs
>
Mike Stall's .NET Debugging Blog
>
10 Aug 2005
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Mike Stall's .NET Debugging Blog
IL offset 0 vs. Native offset 0
Posted
over 7 years ago
by
Mike Stall - MSFT
5
Comments
Within a function, offset 0 into the native code stream corresponds to the very first native instruction in that function. Since the function is ultimately executed via native code (and not via interpreted IL), it's safe to say that native offset 0 corresponds...
Mike Stall's .NET Debugging Blog
MC++ / IJW codegen for Native structures in IL
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
When MC++ compiles an "unmanaged" class into IL (from IJW), it actually compiles the class into an opaque blob and then uses pointer arithmetic to access the fields. The code is not verifiable, but it's still IL. This is exactly how it would codegen if...
Mike Stall's .NET Debugging Blog
Managed C++ codegen for new, array manipulation, delete
Posted
over 7 years ago
by
Mike Stall - MSFT
12
Comments
Managed C++ (MC++) code generation is a cool accomplishment. I think it's another good testimony to the CLR's cross-language charter (and IL's flexibility) that we can support C++. (Not too mention our support for more dynamic languages like F# , SML...
Mike Stall's .NET Debugging Blog
How can I tell if I'm interop-debugging?
Posted
over 7 years ago
by
Mike Stall - MSFT
2
Comments
Sometimes I'm debugging and I want to make sure that I'm actually interop-debugging and not accidentally managed-only debugging. (Now that interop-debugging is so much faster and more stable in whidbey, it's easy to forget you're doing it). One way...
Mike Stall's .NET Debugging Blog
Example of Goofy bugs
Posted
over 7 years ago
by
Mike Stall - MSFT
4
Comments
Here's an sampling of various goofy bugs we've had to deal with in the CLR Debugging services over the past. I mention these so that you can consider whether most of the hot "silver-bullet" testing / software development technique would ever catch bugs...
Mike Stall's .NET Debugging Blog
How to embed IronPython script support in your existing app in 10 easy steps
Posted
over 7 years ago
by
Mike Stall - MSFT
17
Comments
Previously , I added IronPython scripting support to a real existing application, MDbg (a managed debugger written in C#). In this entry, I'll go through step-by-step how I did that. I'll call specific attention to the goofy issues so that it should be...
Mike Stall's .NET Debugging Blog
Adding IronPython scripting engine to Mdbg
Posted
over 7 years ago
by
Mike Stall - MSFT
12
Comments
I hear IronPython is a great managed scripting language to embed in other managed apps, so I thought I'd try this out by writing an MDbg Extension to drop IronPython 0.9.1 into the MDBg Beta 2 sample. (both pieces are publicly available downloads). The...
Mike Stall's .NET Debugging Blog
The importance of fortifying your subsystems.
Posted
over 7 years ago
by
Mike Stall - MSFT
1
Comments
In Writing Solid Code , Steve Maguire warns to "fortify your subsystems". This is especially important if your subsystem takes liabilities on other systems. One of our (CLR debugging teams') most common bugs from Whidbey Beta 2 is a case where we hadn...
Mike Stall's .NET Debugging Blog
What's on my blog-todo list.
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
At this point, I've got what seems to be an endlessly long list of things I'd like to eventually blog about. My list includes: ( Update 10/25/05 : added more hyperlinks since I've now down some of these) 1.) Brushing up on some AI: A coworker lent me...
Mike Stall's .NET Debugging Blog
Boring blogs?
Posted
over 7 years ago
by
Mike Stall - MSFT
12
Comments
Some of you are probably wondering why I sometimes blog on such strange topics. Great question! There are lots of reasons: 1.) My area of expertise (ie, the only thing I know more than you about) is the CLR Debugging Services. Based off blog comments...
Mike Stall's .NET Debugging Blog
Converting a managed PDB into a XML file.
Posted
over 7 years ago
by
Mike Stall - MSFT
11
Comments
I wrote some C# sample code to get an ISymbolReader from a managed PDB (Program Database) file and then dump it back out as XML. The managed PDB stores all the source-level debugging information such as: - the mapping between IL offsets and source lines...
Mike Stall's .NET Debugging Blog
ICorDebugStepper and using ICorDebugStepper2::SetJMC
Posted
over 7 years ago
by
Mike Stall - MSFT
4
Comments
We added Just-My-Code (JMC) stepping (the ability to step through just your code and skip code that's not yours) in Whidbey. I blogged a demo from the end-user's perspective here . In response to some email, I wanted to talk a little more about how a...
Mike Stall's .NET Debugging Blog
Size of Visual Studio
Posted
over 7 years ago
by
Mike Stall - MSFT
21
Comments
Ever wonder how large Visual Studio is? This public comment from the MSDN feedback gives some good stats: Visual Studio is over 43 million lines of code , there are over 30 teams working on different pieces, with roughly 700 developers checking-in...
Mike Stall's .NET Debugging Blog
Sample code for Plagiarism Searcher tool
Posted
over 7 years ago
by
Mike Stall - MSFT
8
Comments
Here's my sample code for a tool to catch blog plagiarism that I described earlier . In retrospect, it was pretty easy to write (under 400 lines!). And edit-and-continue in C# and interceptable exceptions made my development time a lot faster! The...
Mike Stall's .NET Debugging Blog
Using the clipboard as input for console tools.
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
The clipboard can be a very handy source of input for certain console tools. I've written some console C# tools that want to take in a large amount of text from some open document (such as a webpage or a window in my IDE). It would be annoying to have...
Mike Stall's .NET Debugging Blog
Sample code to execute MSN searches from C#
Posted
over 7 years ago
by
Mike Stall - MSFT
8
Comments
For kicks, I started writing a tool to use internet searches to automatically catch plagiarism . The first thing I needed was a way to easily execute a search (I'll use MSN search ) from a C# API. Ideally, it would be a function that takes in a search...
Mike Stall's .NET Debugging Blog
Tool to catch plagiarism
Posted
over 7 years ago
by
Mike Stall - MSFT
12
Comments
If you copy somebody else's blog entry verbatim, credit the original author and link back to the original post. Sometimes I'll google my own topics to learn more about what other people have to say about it. I stumbled across some blatant plagiarism...
Mike Stall's .NET Debugging Blog
Why <font> is bad and easy intro for Cascading Style Sheets
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
I embarrassed to admit I hadn't used CSS before. I googled it, this tutorial came up, I found it quick and helpful, so I wanted to pass it along. It's a great, concise, easy-to-follow, tutorial about why the <font> tag in HTML is bad and how to...
Mike Stall's .NET Debugging Blog
Auto-attach to child process is not supported in managed-debugging
Posted
over 7 years ago
by
Mike Stall - MSFT
1
Comments
Native-only debugging allows you to debug child processes. In other words, you can debug process A, and then if A spawns process B, your debugger can automatically start debugging process B. This eliminates the need to manually attach to process B, and...
Mike Stall's .NET Debugging Blog
Lessons from nullable: Superstars + Feedback
Posted
over 7 years ago
by
Mike Stall - MSFT
1
Comments
Soma (my boss's boss's boss's boss) recently blogged about how the CLR took a major change to fix Nullable . There are 2 lessons here. First, this is a lesson in super-stars. Some background: this was a major change done very late in the game. That's...
Mike Stall's .NET Debugging Blog
How should a generic method be displayed?
Posted
over 7 years ago
by
Mike Stall - MSFT
8
Comments
I've heard several different opinions about how the debugger should display a generic method in the callstack. Say you have a method Class<T>::Method<S>(...). Say you have 3 instances, of with (T=int, S=string), (T=int, S=object), and (T=float...
Mike Stall's .NET Debugging Blog
Nesting C#'s yield
Posted
over 7 years ago
by
Mike Stall - MSFT
7
Comments
C#'s yield keyword is sure neat, but I notice it only lets you yield a single item. It does not let you yield another enumerator and then flatten for you. You can manually do this by having the for-each yourself. foreach(int i in GetValues()) { yield...
Mike Stall's .NET Debugging Blog
MDbg Sample is updated for Beta 2 and RTM
Posted
over 7 years ago
by
Mike Stall - MSFT
14
Comments
The Mdbg (a managed debugging written in pure C#) sample, which includes full source, has now been updated and released. The previous sample was for beta 1. This new sample has been updated for Whidbey beta 2 and will also be compatible with the final...
Mike Stall's .NET Debugging Blog
Problem: The debugger attaches too slowly:
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
From the mailbag: "I notice that running and attaching the debugger takes on average now 8-10 seconds for even a simple console application." I'm not a VS expert, but here are some trouble-shooting tips: 1. Try a managed-only attach instead of interop...
Mike Stall's .NET Debugging Blog
You can't get a mixed-mode callstack from inprocess.
Posted
over 7 years ago
by
Mike Stall - MSFT
7
Comments
You can't get a full-mixed (both managed+ native) stack of a thread within your own process. You can get a native-only stack from function like DbgHelp!StackWalk64 (which is what this article on Codeproject does) to get the native callstack of a native...
Page 1 of 1 (25 items)