I know that the solution will be to use VS 2005 or 2008, but this is not an option at the moment. I have to write an extension for the VS 2003 C ++ debugger to improve the way data is displayed in the viewport. The main reason I use DLLs, and not just the basic autoexp.dat functions, is because I want to be able to display things conditionally. That is, I want to say: "If the name element is not an empty string, the display name otherwise displays [some other element]"
I can not find a lot of documentation on the Internet, both from MS and from other people who used (or tried to use) this part of VS 2003. The MSDN EEaddin example was ok, but very simple and really didn’t help me get very far.
So far, I am just learning my way, learning how to display different types, not knowing exactly which types I will work with at the end.
I managed (thanks to a lot of trial and error) to get a DLL for displaying pointer-elements of the base type, members of the string, members with a user-pointer, and type auto_ptr. I am currently having problems displaying vector elements and auto_ptr members.
(I found a page that says auto_ptrs is deprecated, but I need to be able to display them correctly, as they are used in the code for which the extension is intended.)
My question is: did anyone do this, and do you or do you know any useful documentation on this?
Thanks!
[Update:] I found out why I am having problems with members of the auto_ptr class. This is due to the way the string class is implemented. It has a char [16] buffer, where it stores data for short strings and a char * pointer if the string is longer (15 characters + end character). I'm not sure if it’s possible and worth trying to hack this to display longer lines (I can display lines that are short enough to be stored in the char buffer [16])