in windows, there is something called "Just In Time" exception handler
normally, this points to the "Dr Watson" message box that gives you error information when a program crashes
i'm sure you've seen it - for example, if you try to access protected memory, you get error 0x80000005
well, by changing a registry setting, you can change what happens when a program crashes
Jochen gave you a link to Olly Debugger
versions 1.1 and 2 are available
version 1.1 allows source symbols
version 2 has newer features, but he is still working on symbol support
at any rate, when you install Olly - there is a menu item that allows you to set the JIT exception handler to Olly
once you do that, Olly will come up instead of the windows error messages
INT 3 generates an "invalid opcode" exception, causing the JIT handler to come up
so, to debug at a specific spot, we temporarily insert an INT 3 into the code