Sign in
Mike Stall's .NET Debugging Blog
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Blog - Link List
Other Blogs
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?
ASP.Net
ScottGu's blog
Henrik's blog
Brad Wilon's blog
Carlos Figueira's blog
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
RSS for posts
Atom
RSS for comments
OK
Search
Tags
Compilers & Languages
Design
dlr
Edit-And-Continue (EnC)
Family
feedback
FuncEval
ICorDebug
Interop (mixed-mode)
linkfest
MDbg
Non-work
Pages
Quiz
Random
random .net
reading
Sample Code
Silverlight
This should be in MSDN
Troubleshooting
versioning
WebAPI
Whidbey (V2.0)
Windows Live
Archive
Archives
August 2012
(2)
May 2012
(3)
April 2012
(5)
March 2012
(2)
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)
MSDN Blogs
>
Mike Stall's .NET Debugging Blog
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Mike Stall's .NET Debugging Blog
I'm caught up!
Posted
over 8 years ago
by
Mike Stall - MSFT
0
Comments
Ok. With that last post , I believe I've completely caught up with all outstanding private emails requests. If you sent me a private email via the contact link on this blog, and none of my recent posts answer it, then odds are a) the spam filters ate...
Mike Stall's .NET Debugging Blog
Symbol API (CorSym.idl) for managed PDBs
Posted
over 8 years ago
by
Mike Stall - MSFT
1
Comments
From the mailbag: Just wanted to know if there are plans to ever give us world citizens an API to modify & emit pdb files, at least for managed assemblies. Good news. You've already got them. 1) The CorSym.idl API (exists in sdk, next to where you...
Mike Stall's .NET Debugging Blog
Enable vs. Implement
Posted
over 8 years ago
by
Mike Stall - MSFT
0
Comments
There's a key distinction between a platform (like the CLR debugging services) enabling a scenario instead of actually implementing the scenario. Implementing a scenario means we provide specific functionality for a scenario. For example, the CLR debugging...
Mike Stall's .NET Debugging Blog
Debugger.Log and LogMessage
Posted
over 8 years ago
by
Mike Stall - MSFT
4
Comments
Calls to Debugger.Log in a debuggee can generate a ICorDebugManagedCallback::LogMessage managed debug event. This is the managed equivalent of kernel32!OutputDebugString . Other managed functions (like Debug.Write ) may degenerate to calls to Debugger...
Mike Stall's .NET Debugging Blog
Compiling a language to C#
Posted
over 8 years ago
by
Mike Stall - MSFT
12
Comments
Several people have written me to say that they're writing their own language (let's say 'X') and they compile their language to C# and then compile C# to IL. This is instead of directly compiling X to IL. This can be attractive because: 1) using C# constructs...
Mike Stall's .NET Debugging Blog
Having debugger-friendly codegen
Posted
over 8 years ago
by
Mike Stall - MSFT
0
Comments
One of the things I like about C# anonymous delegates is that the codegen is clever enough that they're reasonably debuggable without any additional debugger support. This type of debugger-friendly codegen is a key part in making your 3rd-party language...
Mike Stall's .NET Debugging Blog
MDbg Sample temporarily broken in post-beta 2 builds.
Posted
over 8 years ago
by
Mike Stall - MSFT
6
Comments
Customers have alerted us that the MDBg sample is broken on post-beta 2 builds. Rick Byers has diagnosed the problem as an issue in the mdbg build and we're working to update it. I guess there was a VS change that exposed this problem. Rick may blog a...
Mike Stall's .NET Debugging Blog
F5 vs. Ctrl-F5
Posted
over 8 years ago
by
Mike Stall - MSFT
5
Comments
In VS, F5 will launch your application under the debugger. Under the debugger, you'll hit breakpoints, be able to edit-and-continue, and do all the debugger things you know and love. Ctrl+F5 will launch your application outside of the debugger...
Mike Stall's .NET Debugging Blog
Process X can't tell if Process Y is being managed debugged.
Posted
over 8 years ago
by
Mike Stall - MSFT
2
Comments
From the mail bag: Is there a way to determine if a managed debugger is already attached to a given process id? It looks like ICorDebug.CanLaunchOrAttach might be the right API for this (wouldn't it return FALSE if another debugger is...
Mike Stall's .NET Debugging Blog
Going from IL to Source
Posted
over 8 years ago
by
Mike Stall - MSFT
1
Comments
Question from the mail bag: I am trying to get some information on what I can do usefully with the "+ 0xnn" part at the end of a call stack line in VS IDE 2003. So when I see (in the call stack window) cf-gfmaa!Microsoft.Xml.Serialization.GeneratedAssembly...
Mike Stall's .NET Debugging Blog
ICorDebug reentrancy
Posted
over 8 years ago
by
Mike Stall - MSFT
2
Comments
ICorDebug (ICD) in managed-only debugging mode does not need to be a reentrant API . In other words, you can imagine all of ICorDebug being under a single giant monitor (lock). This also means that all calls to ICorDebug will return without blocking on...
Mike Stall's .NET Debugging Blog
ICorDebug, MTA, STA.
Posted
over 8 years ago
by
Mike Stall - MSFT
4
Comments
ICorDebug (ICD) is a com-classic interface. In terms of COM threading models , ICorDebug is technically free-threaded (aka, should reside in the "neutral apartment"), which means that it manages its own threading. We go through great pains in the ICD...
Mike Stall's .NET Debugging Blog
Types of Names
Posted
over 8 years ago
by
Mike Stall - MSFT
0
Comments
We've had some design discussions where we've come across 4 types of string names. These terms came mostly from discussing debugging symbols, but they extend to naming in general. Type Example for function Example for filename ...
Mike Stall's .NET Debugging Blog
Out-of-band events and Mixed-mode debugging
Posted
over 8 years ago
by
Mike Stall - MSFT
2
Comments
Interop-debugging splits all debug events into "In-band (IB) " and "Out-of-band (OOB)". Inband events are the good ones: at an inband event, the debuggee is stopped and you can use the rest of the ICorDebug API normally to do inspection and other things...
Mike Stall's .NET Debugging Blog
Commutative vs. Associative
Posted
over 8 years ago
by
Mike Stall - MSFT
9
Comments
Sometimes a good example can instantly clarify something. I recall back to my early school days when my math teacher explained that addition and multiplication were Commutative (a+b == b+a) and Associative ( a+(b+c) == (a+b) +c). We students didn't...
Mike Stall's .NET Debugging Blog
IL offset 0 vs. Native offset 0
Posted
over 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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...
Page 14 of 19 (454 items)
«
12
13
14
15
16
»