Mike Stall's .NET Debugging Blog
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Quiz: can you count how many combinations ...
Here's a combinatorics quiz: If you have 2 ordered lists (lengths N, M), how many ways can they be...
Author: Mike Stall - MSFT Date: 01/28/2008
Lang.Net 2008 is coming
Lang.Net 2008 is coming up this Monday through wed (Jan 28th -Jan 30th). This is targeted at...
Author: Mike Stall - MSFT Date: 01/23/2008
Battle Simulation: size vs. smarts (part 3)
How much stupidity does it take to prevail over intelligence? I previously explored simulating...
Author: Mike Stall - MSFT Date: 01/17/2008
Battle Simulations with Iron Python (part 2)
I previously wrote about modeling RTS battles with IronPython. In this entry I'll explore a new...
Author: Mike Stall - MSFT Date: 01/12/2008
Partial Classes and future-proof vindication
A common question is "How can my tool crack the PDB to automatically determine what source file /...
Author: Mike Stall - MSFT Date: 01/10/2008
An extra 1 gig of memory works wonders...
I had previously installed Vista on my home machine, which had 1 GB. Vista was neat, and Civ 4...
Author: Mike Stall - MSFT Date: 01/06/2008
Zune's killer feature
Zune's killer feature (according to my 2 year old daughter) is the box. For the 4gb/8gb, the box is...
Author: Mike Stall - MSFT Date: 01/04/2008
"Managed Humans" by Michael Lopp
I just finished reading "Managing Humans" by Michael Lopp, who writes at...
Author: Mike Stall - MSFT Date: 01/03/2008
RTS Battle simulation with IronPython
I used Python to simulate Age of Empires archer battles. I wanted to be able to answer questions...
Author: Mike Stall - MSFT Date: 01/02/2008
Interview tip: what's the real question
Sometimes somebody asks a question, but the answer they're looking for is not the answer to the...
Author: Mike Stall - MSFT Date: 12/31/2007
It never works
Last night, right before falling asleep, I recall having some great idea for a blog entry. I was too...
Author: Mike Stall - MSFT Date: 12/29/2007
Merry Christmas!
.
Author: Mike Stall - MSFT Date: 12/25/2007
Grocery stores and cyclical dependency graphs
Here's a silly conversation that demonstrates a problem in resolving cyclical dependency graphs that...
Author: Mike Stall - MSFT Date: 12/19/2007
Return vs. Finally (2)
The Return statement and finally have competition. Both can are the "last" thing to execute when a...
Author: Mike Stall - MSFT Date: 12/16/2007
Real Time Strategy game for Silverlight
Check out TruckWars, a Real-Time-Strategy (RTS) game for Silverlight 1.1 by Tim that builds on the...
Author: Mike Stall - MSFT Date: 12/04/2007
Debuggability tops MSBuild feature poll
Dan Mosely recently posted a feature poll on the MSBuild blog. Here are the results. Debuggability...
Author: Mike Stall - MSFT Date: 12/03/2007
Stateless card dealing
How many times have you had somebody deal a hand of cards and then say "um, everybody count your...
Author: Mike Stall - MSFT Date: 11/29/2007
"This statement is false"
Saying phrases like "This statement is false" does mean you've found some fatal flaw in logic itself...
Author: Mike Stall - MSFT Date: 11/20/2007
Learning Python
Now that I'm on the IronPython / DLR team, it seemed prudent to actually learn the Python language....
Author: Mike Stall - MSFT Date: 11/17/2007
Don't expect customers to always run your app under a debugger
"That's ridiculous, I would never do that" you think. But there's a certain class of mistakes that...
Author: Mike Stall - MSFT Date: 11/06/2007
Why is System.Diagnostic.Debugger class compiled in retail?
There's a good reason that methods on a "System.Diagnostics.Debugger" class are still compiled in...
Author: Mike Stall - MSFT Date: 11/01/2007
How to add Options to Live Writer PlugIns
This entry explains how to have options associated with your Windows Live Writer plugin, including...
Author: Mike Stall - MSFT Date: 10/30/2007
WiX Script for installing Live Writer Plugins
Here's a WiX install script to build an MSI to install a Windows Live Writer (WLW) plugin dll, by...
Author: Mike Stall - MSFT Date: 10/27/2007
Simple Tool for text substitution plus Design questions
I wrote a simple C# app to do text substitution. It takes a (key,value) mapping and then replaces...
Author: Mike Stall - MSFT Date: 10/24/2007
Breaking changes in ICorDebug from 1.1 to 2.0.
Here are some random notes about specific ICorDebug breaking changes between .NET v1.1 (Everett) and...
Author: Mike Stall - MSFT Date: 10/23/2007
Paste-From-Console Live Writer PlugIn
I wrote a WLW PlugIn to paste from a console. You can download it from the Gallery here. The setup...
Author: Mike Stall - MSFT Date: 10/22/2007
Transitioning off the CLR
After 6+ years on the CLR Debugging services, I'm going to be headed over to the Dynamic Language...
Author: Mike Stall - MSFT Date: 10/19/2007
Trivia about the [Conditional] attribute
The System.Diagnostics.Conditional attribute has been on blog-todo list for a while, and I'm finally...
Author: Mike Stall - MSFT Date: 10/15/2007
Quiz: What runs before Main()?
Quiz: What managed code runs before managed Main() in your program startup path? Answers: I note...
Author: Mike Stall - MSFT Date: 10/14/2007
My daughter, the QA tester
I was on a plane with my 2.75 yr old daughter (yeah, the state-machine one). She noticed the air-jet...
Author: Mike Stall - MSFT Date: 10/13/2007
How to tell if a function is managed code?
This is a moot point for pure C# apps, but what if you're writing in MC++ (or some other 'mixed'...
Author: Mike Stall - MSFT Date: 10/12/2007
The debugger is not just an extension to BCL + Reflection
Don't have your non-debugger app use the debugging services just to get some cool functionality. The...
Author: Mike Stall - MSFT Date: 10/10/2007
3 years!
I just noticed that my blog had birthday #3 (Sep 30th) . In tradition, some various stats... 384...
Author: Mike Stall - MSFT Date: 10/06/2007
Why debugging breaks in optimized (production) builds.
You may have noticed that debugging optimized builds (eg, what you commonly get when you attach to a...
Author: Mike Stall - MSFT Date: 10/05/2007
Debugger.Break()
System.Diagnostics.Debugger.Break() is a BCL method that causes a program to issue a User Breakpoint...
Author: Mike Stall - MSFT Date: 10/03/2007
ICorDebugFunction is 1:1 with the IL
In CLR 1.0, there was a simple invariant between IL code blob, and native code blob. It was either...
Author: Mike Stall - MSFT Date: 09/30/2007
"Drawn to Life" and framework design
"Drawn to Life", is a Nintendo DS game that lets you draw various objects in the game, such as the...
Author: Mike Stall - MSFT Date: 09/28/2007
What I'm reading now: 50 Rules Kids Won't Learn in School
I'm currently reading "50 Rules Kids Won't Learn in School" by Charles J. kes. (Apparently the first...
Author: Mike Stall - MSFT Date: 09/24/2007
(A==B)==(X==Y)
I used to hate the expression: (A==B)==(X==Y), but I've grown very fond of it. My prior feelings of...
Author: Mike Stall - MSFT Date: 09/20/2007
Paradigms around Debugging Memory leaks
In native code, memory is explicitly managed by the program calling Malloc()/Free() (or comparable...
Author: Mike Stall - MSFT Date: 09/14/2007
Foreach codegen
Do you know how the following C# code compiles? foreach (int i in c) { Console.WriteLine(i); } In...
Author: Mike Stall - MSFT Date: 09/07/2007
Feature Parity vs. Scenario Parity
It can be easy to miss the forest through the trees. Sometimes there are emergent properties from...
Author: Mike Stall - MSFT Date: 09/05/2007
ICorPublish does not cross the 32/64 bit boundary
I mentioned earlier that ICorDebug does not cross the 32/64 boundary. If you want to debug a 32-bit...
Author: Mike Stall - MSFT Date: 08/27/2007
What I'm reading now: Showstoppers
I'm reading "ShowStoppers", by G. Pascal Zachary, which describes the effort to build the first...
Author: Mike Stall - MSFT Date: 08/22/2007
Indirection is funny
In code, unnecessary layers of indirection can be confusing and lead to bug. Do you really need to...
Author: Mike Stall - MSFT Date: 08/14/2007
My first LiveWriter PlugIn is posted to the gallery
My first Windows Live Writer (WLW) PlugIn is now published on the WLW Gallery of Plugins. You can...
Author: Mike Stall - MSFT Date: 08/12/2007