Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » Bugs   (RSS)

Simple VS Addin (updated)

Back during the PDC for Whidbey I wrote a post about Creating a Simple Addin . Recently I was looking to update it and found a horrible bug in it. First, here is the corrected code: public void OnConnection( object application, ext_ConnectMode connectMode,
Posted by SteveJS | 2 Comments
Filed under: , ,

Naming threads in Win32 And .Net

When you are debugging an application with multiple threads it can be handy to have a better name than just the thread id. This is simple to do in managed code. There is a property on the Thread object that you can set. It is also possible to do this
Posted by SteveJS | 7 Comments
Filed under: , ,

FuncEvil, the Clipboard, and Deadlocks

Mike Stall has a great post that, for a debugger dev, is the moral equivalent of sticking a fork in a toaster. The basic problem he addresses is that once you are stopped in the debugger the UI for your application will no longer paint. What if you need
Posted by SteveJS | 3 Comments
Filed under: , ,

Change Debugger behavior with Attributes

Certain metadata attributes modify the stepping, breakpoint, and callstack behavior of the VS managed Debugger. This is useful if you are creating an interpreter, language runtime, or a tool that modifies the code in a managed assembly. There are three
Posted by SteveJS | 0 Comments
Filed under: , ,

Netmodules: Sort of like a lib

I first ran into netmodules before VS 2002 was shipped. The netmodule gave me precisely what I asked for, without actually solving my problem. I wanted to use multiple languages (C#, and C++ /clr) in a single assembly. It turns out a single assembly can
Posted by SteveJS | 1 Comments
Filed under: , ,

XSLT debugging in Visual Studio

Visual Studio is a big tool. It's easy to miss some useful features. Hopefully t he XSLT debugger won't get missed. If you want to learn how to use XSLT debugging take a look at Neetu Rajpal's msdn article Introducing Xml tools in VS 2005 . Below you
Posted by SteveJS | 2 Comments
Filed under: ,

Perf Awareness is not Premature

I've found myself adding a timer to each of the unit test frameworks I use so I can see how long my tests take. I am not trying to do anything complex. I just want to be aware of the perf. The same way pass and fail are visible, 1ms vs 90ms is visible.
Posted by SteveJS | 1 Comments
Filed under: ,

Checking the result of new is a bug in C++

At least, it is a bug in VC8. That check won't happen. Reading Larry Osterman's recent posts "What's wrong with this code, part 15" and the answers , reminded me this behavior changed in VC8. If you check the result of new in code compiled with VC8, your
Posted by SteveJS | 3 Comments
Filed under: ,

PsuedoVariables and Format Specifiers

The VS debugger has a history of tiny but useful features hidden in the expression evaluator. These features are like the yellow shirted ensign in star trek. They are useful, but unknown and expendable. Developer's learn about them by attending a Power
Posted by SteveJS | 3 Comments
Filed under: ,

$env=0

Winning the award for the least understandable UI metaphor: the ability to view the environment variables in the target when native debugging. This is yet another tiny undocumented feature of the native expression evaluator in VS. $env falls under the
Posted by SteveJS | 2 Comments
Filed under: ,

Assembly language survival guide (for Debugging ... not writing)

Knowing just enough assembly is a really powerful aid in Debugging. These are short articles that hit the sweet spot of enough information to be very useful, but not so much that it is a chore to learn: Matt's Just Enough Assembly Language to Get By:
Posted by SteveJS | 0 Comments
Filed under: ,

Devenv stealth feature, Poor Man's Profiler

This feature is unsupported. It is undocumented. If you call help desk about it nice people will say “huh?” If it breaks, people will nod knowingly and say “I told you so”. In later versions it may simply disappear. It could decay right now as I speak
Posted by SteveJS | 1 Comments
Filed under: ,

Edit & Continue trick for Conditional Bps

Using Edit and Continue to fix a bug is handy, but don't wait until you've found the bug to start editing. One powerful technique is to use E&C when you are still trying to find the problem. Edit and Continue allows you to make any conditional bp
Posted by SteveJS | 0 Comments
Filed under: ,

Is there such a thing as a good bug?

I was dreaming last night that Shai and I were cleaning an old apartment, when a hockey puck sized bug crawled onto Shai's hand. In real life there would have been screaming. In the dream she lifted it up so we could both look at it. I am not an entomologist,
Posted by SteveJS | 5 Comments
Filed under:

Random Repros

Adi Oltean continues a great series of blogs about supportability, with this one about Random Repros . Stop reading this. Go read that. And reply in his comments, if you have any ideas nearly as good as his. There are a couple of reason tough bugs are
Posted by SteveJS | 1 Comments
Filed under:
More Posts Next page »
 
Page view tracker