dzDebugVisualizer

What is dzDebugVisualizer?

dzDebugVisualizer is a Delphi IDE plugin that enhances the debugger with custom value visualizations for colors, date/time, multiline strings, TNullable types, and user-configurable types.

The source code is available on SourceForge under the Mozilla Public License 2.0.

Supported Delphi Versions

The project supports all Delphi versions from 2005 through 13. There are two separate implementations because older Delphi versions did not have OTA support for debug visualizers.

Old version (Delphi 2005, 2006, 2007 and 2009)

This version hooks the IDE’s Watch/Locals window and Evaluate/Modify dialog directly.

Watch List / Local Variables window: The plugin adds a “Visualizer” submenu to the context menu:

  • Show Multiline String – unquotes the debugger string and displays it with real line breaks in a separate window
  • Show as TDateTime – interprets the floating-point value as a TDateTime and shows the formatted date/time
  • Show as Color – converts the integer value to a color name, web color name, and RGB components

Evaluate/Modify dialog: A “Modifiers” dropdown button is added to the toolbar. Custom modifiers include Unquote (,U), Date Time (,T), and Color (,L).

New version (Delphi 2010 through 13)

This version uses the official Open Tools API debug visualizer interfaces (IOTADebuggerVisualizer and related).

Supported versions: 2010, XE, XE2 to XE8, 10.0 to 10.4, 11, 12 and13.

Features:

  • TColor visualizer – displays color names instead of integer codes
  • TNullable visualizer – shows <valid> or <invalid> for TNullable types
  • Universal visualizer – user-configurable visualizer for any data type. Supports calling Dump methods, conversion functions, or any expression that returns a readable string. Configuration via Tools > Options (Delphi XE+) or a Tools menu entry (Delphi 2010).

Installation

Open the appropriate package from packages/Delphi{Version}/dzDebugVisualizer.dpk in the IDE and install it. The package is design-time only.

Requires: rtl, vcl, Designide.

Blog Posts