Here's a trick I miss from Smalltalk. (VisualWorks in particular.) While stopped in the debugger, you can easily write a script to search all existing strings for a match, even a regex match. Then you can very easily ask a string you're interested in for its "owners," inspect those objects and browse their code.
You can write code very complex conditional code for debugging, without the tons of roadblocks an environment like VisualStudio will throw in your way. Then your conditional debug code can find a particular instance and tell that specific instance to change its class to a special debugging subclass.
There are many other tricks, but the combination of just those two tricks give you debugging "superpowers."