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)
March, 2006
MSDN Blogs
>
Mike Stall's .NET Debugging Blog
>
March, 2006
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Mike Stall's .NET Debugging Blog
Practical MDAs in MSDN magazine
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
Stephen Toub writes about MDAs in MSDN Magazine (see here ). Whereas I focuses more on the platform implications , he focus on more practical stuff like: how to enable and disable them; specific MDAs of interest, specific demos to show firing...
Mike Stall's .NET Debugging Blog
Some practice interview questions
Posted
over 7 years ago
by
Mike Stall - MSFT
5
Comments
Somebody in the comments asked for some practice interview questions for a development position. So here are some general practice interview questions for an entry-level development job in a C/C++ oriented group: 1. Basically any C-style string function...
Mike Stall's .NET Debugging Blog
How did I ever live without it?
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
Here are some random software things I use that really change how I work. OneNote : Word is not a good way to track general random information such as todo-lists, meeting notes, random thoughts, or anything that you would naturally write in a scratch...
Mike Stall's .NET Debugging Blog
Getting answers to questions
Posted
over 7 years ago
by
Mike Stall - MSFT
7
Comments
I've been getting a lot of individual questions (usually via the contact form) about random things I know very little about. Unfortunately, I can't provide everybody the answers I'd like. Lack of time is one thing. But also, I often just don't know the...
Mike Stall's .NET Debugging Blog
Dbg vs. Pdb files
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
Somebody asked me about .Dbg vs. .Pdb files. Basically, .Dbg files are the predecessor's to .pdb files. For managed code, you're always likely to see .pdb files. That's actually about all I know, but you can find out more here: http://support.microsoft...
Mike Stall's .NET Debugging Blog
Shared Source CLR is available for V2
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
In case you haven't already heard from every other blogger (like Shawn , JasonZ and Brad ) , V2.0 of the SSCLI (aka Rotor) is now available for download: http://msdn.microsoft.com/net/sscli . I just downloaded it myself. This is basically the source...
Mike Stall's .NET Debugging Blog
Stop the debuggee to poke at it
Posted
over 7 years ago
by
Mike Stall - MSFT
2
Comments
In ICorDebug, most operations are only available when the debuggee is stopped. (This was asked here ). Many things will fail with CORDBG_E_PROCESS_NOT_SYNCHRONIZED if you call them when the process is running. The motivation is: 1) Correctness : trying...
Mike Stall's .NET Debugging Blog
The stop count and trivia
Posted
over 7 years ago
by
Mike Stall - MSFT
4
Comments
ICorDebug maintains a stop-count, and so if you call ICorDebugProcess::Stop() twice in a row, the 1st stop does the real asynchronous-break , and the 2nd stop is basically a nop that just increments a counter. You'll then need to call ICorDebugProcess...
Mike Stall's .NET Debugging Blog
Trivia about Set-next-Statement (SetIp)
Posted
over 7 years ago
by
Mike Stall - MSFT
2
Comments
The poor-man's version of Set-Next-Statement (aka, SetIp) is to just forcibly set the instruction pointer register (eip on x86) to the instruction you want to execute next. However, this naive approach has several problems that ICorDebug's SetIp solves...
Mike Stall's .NET Debugging Blog
What to expect when you Attach, Async-Break
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
Don't assume that if you have a thread doing a spin-wait, that you can attach / asynchronously-break ("async-break") and your debugger will immediately stop at the spin-wait. When you attach to a debuggee or async-break while debugging, the debuggee...
Mike Stall's .NET Debugging Blog
"Correct" may depend on your point of view
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
Correctness from the debugger's perspective is very different than correctness from the end-user's perspective. For example, the debugger exposes many invasive operations like SetIp. The debugger considers the operation successful if it sets the IP to...
Mike Stall's .NET Debugging Blog
Looking forward to the day when free wireless is just a given
Posted
over 7 years ago
by
Mike Stall - MSFT
5
Comments
I was bored in SeaTac Airport (my flight got delayed) and so I pulled out my laptop. I wasn't sure what I was going to do with it, but I didn't have any other entertainment options. My brain didn't have the mental energy to be productive, minesweeper...
Mike Stall's .NET Debugging Blog
Competing with the docs:
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
I was reading Charles Petzold's rule " Don't even try to compete with the Docs " and it reminded me of one of the issues I struggle with as a blogger trying to decide what to write about... I find myself in a similar dilemma with blogging. Some people...
Mike Stall's .NET Debugging Blog
Put a config file on your debuggers
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
VisualStudio.Net 2003 has a config file saying that it's for V1.1 CLR. If you write your own V1.1 debugger, you should do that too. One big motivation is to ensure your V1.1 debugger creates the V1.1 implementation of ICorDebug. In V1.1, ICorDebug...
Mike Stall's .NET Debugging Blog
Why doesn't MDbg use generics?
Posted
over 7 years ago
by
Mike Stall - MSFT
3
Comments
If you've looked at the MDbg sources, you'll notice it looks a lot like a V1.1 app. There are few to no V2 (Whidbey) concepts in there: few anonymous delegates, very little (if any?) generics, no 'yield' keyword. Since MDbg shipped in V2, why didn't we...
Mike Stall's .NET Debugging Blog
What I'm reading now (Practical .NET2 and C#2)
Posted
over 7 years ago
by
Mike Stall - MSFT
2
Comments
I've been reading through " Practical .NET2 and C#2 " (by Patrick Smacchia). I finished my previous book (" Why Programs Fail " by Andreas Zeller ) a little while ago. I'm impressed with the book. It's not a C# reference, although it describes new...
Mike Stall's .NET Debugging Blog
The JIT does dead-code elimination in Debuggable code
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
The desktop CLR JIT (at least x86) does dead-code elimination, even in debuggable code. This is obviously perfectly safe, transparent, (and good), from a program-execution perspective. But it can be a little surprising under the debugger because you can...
Mike Stall's .NET Debugging Blog
Being a CLR dev does not mean you know everything about the CLR
Posted
over 7 years ago
by
Mike Stall - MSFT
2
Comments
I find people often assume that just being a developer on the CLR means you somehow know everything about the CLR there is to know. I only wish! First, the CLR is a very large problem space and there's a lot to learn: 5 ECMA partitions. Multiple languages...
Mike Stall's .NET Debugging Blog
Passing env vars to the debuggee
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
Here are two main ways a debugger can pass an environment variable to the debuggee. 1. Set the var in the debugger process , and then let the debuggee inherit them when its created. This is easy, but dangerous. For example, you should probably restore...
Mike Stall's .NET Debugging Blog
Chatting about debugging?
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
If you're at the Microsoft campus at the upcoming compiler-lab and want to chat about ICorDebug or low-level managed-debugging questions, ping us and we'd be glad to swing by the lab during a break and chat. People asked some great debugger questions...
Mike Stall's .NET Debugging Blog
Is this a good or bad?
Posted
over 7 years ago
by
Mike Stall - MSFT
4
Comments
Pinvoke.Net is a great site, and I was wondering whether to be happy or sad. On the bright side, it's great to see a community effort like that, and the site is really useful. On the down side, it's sad that pinvoke would be so complicated that something...
Mike Stall's .NET Debugging Blog
New CLR blogger: Vance Morrison
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
Vance Morrison , CLR Jit guru, and now Perf -Architect (succeeding Rico ) is blogging . Vance has an amazing wealth of knowledge. He's already written a great entry about how to figure out native codegen for things (such as foreach) and about SOS ; and...
Mike Stall's .NET Debugging Blog
Doing Detach with ICorDebug
Posted
over 7 years ago
by
Mike Stall - MSFT
1
Comments
Detaching a managed-debugger is somewhat complicated at the ICorDebug API level. In a perfectly-friendly API, you could just call "ICorDebugProcess::Detach" and be done with it. With managed-debugging, there are two main constraints and the hresults ...
Mike Stall's .NET Debugging Blog
Jan is on MSDN TV talking about MDbg
Posted
over 7 years ago
by
Mike Stall - MSFT
0
Comments
Jan Stranik is on MSDN TV talking about MDbg , the managed-debugging sample written in C#. See the video here . Jan wrote most of MDbg, and handle a lot of hard problems about getting a working debugger in managed code. He gives a brief overview of...
Mike Stall's .NET Debugging Blog
MDbg, Managed-debugging, and 64 bit
Posted
over 7 years ago
by
Mike Stall - MSFT
2
Comments
V2 CLR added support for 64-bit (amd64 and ia64), and that includes managed-debugging support. So a 64-bit MDbg can debug a 64-bit managed app. But what about cross-platform stuff when your debugger and debuggee are different platforms? Here's how MDbg...
Page 1 of 2 (31 items)
1
2