Visual Studio, foot, gunPosted: September 26, 2012
For some reason, if you’re debugging in Visual Studio and step past the end of main(), the debugger keeps on trucking, and lets you step through all sorts of weird low-level system code related to shutting down managed VMs, or something equally arcane.
And, for some reason those low-level system source code files are all user-editable and writeable.
So, you’re one typo-and-save away from ruining your whole Visual Studio installation.
Today a student did that. And, woefully he changed a header file to include itself. So he kept getting an error message about the preprocessor exceeding a recursion depth limit, and not anything remotely helpful.
I’m usually an advocate of teaching programming with real-world tools, but that approach is not without its flaws.
(And I can’t resist pointing out that Linux/Unix file permissions would have nipped this in the bud with an apropos write access failure. One of the hundreds of little reasons why Unix is a friendlier development environment.)