String watch Microsoft Visual Studio add-in
Last page update: 16.11.2001
Current product version: 1.3.4.1
Download: here (100k)
Origin: "Microsoft Visual C++ 6.0" has debugger limitation: it shows first ~250 symbols of string only
Purpose: Expand debugger functionality by evaluating expression and showing resulting string in common edit
Features:
Known limitations: edit control used to output evaluated string is VERY slow (especially with word-wrap enabled). So 70% of dump time is taken by output of text to edit control. This is very noticeable on strings longer than 100000 symbols.
Intended audience: C/C++ developers using Microsoft Visual Studio 6.0
How does it looks like:
How to install: unpack ZIP file into some directory You want to use as
home of add-in. Then run DevStudio and right-click on some toolbar. Select
"Customize..." and jump to "Add-ins and Macro Files". Hit
"Browse..." and go to the directory you've unpacked ZIP to. Select "Files of
type": "Add-ins (.dll)". Open XDebug.dll file. "XDebug Developer
Studio Add-in" will appear in add-ins list. Jump to "Commands" tab, jump
to "Category:" "Add-ins". You will see icon with white eyes and green letters
STR. Drag it to any DevStudio toolbar you like. The most appropriate place for
this button is "Debug" toolbar.
After add-in is successfully installed, You can use it when some application is
under debug. Just select variable You want to be evaluated and click on
StringWatch toolbar button with big white eyes. Enjoy.
Version history:
------------------------------------------------------------------------
1.3.4.1 (16.11.2001)
------------------------------------------------------------------------
1. New option added: try %d kb block dump. Dumps at least %d kilobytes of data. Actual only for LPSZ and LPWSZ data types. Useful for dumping memory blocks with NULLs inside.
------------------------------------------------------------------------
1.3.3.1 (06.11.2001)
------------------------------------------------------------------------
1. Bug fixed with strings including NULL.
------------------------------------------------------------------------
1.3.3.0 (29.10.2001)
------------------------------------------------------------------------
1. Faster string dump
2. Dump limit option added
3. Version info is shown in message-box informing that add-in may be used only
under debug.
------------------------------------------------------------------------
1.3.1.0 (15.10.2001)
------------------------------------------------------------------------
1. Selected expression is trimmed
2. Dump and additional info was radix dependent (fixed)
3. About dialog
4. Position and size of main dialog is saved on exit
------------------------------------------------------------------------
1.3.0.1 (10.10.2001)
------------------------------------------------------------------------
1. Options dialog
2. Output text wrap
3. Replacing of '\r', '\n' into "\r\n" (option dialog)
4. Maximize main dialog on-start (option dialog)
5. Options saving to registry
------------------------------------------------------------------------
1.2.0.1 (08.10.2001)
------------------------------------------------------------------------
1. Hour-glass is shown wile dumping
2. "MFC String" renamed to "MFC/WTL CString" (it turns out that WTL just ported
MFC CString, so their internals are the same)
3. Get expression under cursor
------------------------------------------------------------------------
1.2 (05.10.2001)
------------------------------------------------------------------------
1. Rewritten in WTL (previously was in MFC)
2. Main dialog is shown only when some app is under debug
3. WTL is responsible for dialog resizing
------------------------------------------------------------------------
1.1 (04.10.2001)
------------------------------------------------------------------------
1. Length of null-terminated string (char*, WCHAR*) is calculated
2. Resize is slightly rewritten (redraw is faster)
------------------------------------------------------------------------
1.1b (03.10.2001)
------------------------------------------------------------------------
1. Next string types added:
a) CComBSTR
b) MFC CString
2. Autoevaluate
3. Combo-box with types
4. Custom evaluate. Useful when user wants to watch BSTR variable, strings of
this type are not auto-detectable.
5. Some autodetectable strings with NULL symbol inside where shown improperly.
NULL symbol is shown with "°" symbol (bugfix)
------------------------------------------------------------------------
1.0b (27.09.2001)
------------------------------------------------------------------------
1. Everything was rewritten. Faster dump
2. String type autodetection
3. Next string types are supported:
a) char*
b) WCHAR* / BSTR
c) std::basic_string
d) _bstr_t
4. Expression history
5. Expression is taken from selection
6. Additional string-type specific information
7. Resizable main dialog
8. "Copy" to cplipboard
Author: Eugene Ivakhiv (send
comments, bug-reports, requests)