The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Some notes on Delphi Debugger Visualizers

Posted by jpluimers on 2026/06/16

Ever since Chris Hesik spoke on “RAD Studio 2010 what’s new in the IDE debugger”, wanted to write a blog post about it.

Still haven’t found time to do that in depth, but it’s important to at least jot a few notes, so let’s start with the 20111020 conference session notes.

Chris Hesik – RAD Studio 2010 what’s new in the IDE debugger

Debugger Visualizers
Built-in: Roll your own:
  • TDateTime
  • TDate
  • TTime
  • TStrings
  • TColor
  • TImage

http://stackoverflow.com/questions/1425988/a-simple-debug-visualizer-for-delphi-2010

http://stackoverflow.com/questions/2556146/improve-speed-of-own-debug-visualizer-for-delphi-2010

http://www.torry.net/pages.php?id=1627

Tools – Options – Visualizers: enable the ones you need

  • Replace visualizer: replaces the value from the debugger with something more meaningful
  • External Viewer visualizer: small Glyph is added that allows you to popup
  • Evaluate/Modify dialog

Older Delphi versions: http://www.dewresearch.com/DebuggerVisualizer.html

Write your own:

  • ToolsApi.pas file
  • IOTADebuggerVisualizer interface
  • IOTADebuggerVisualizerValueReplacer
  • IOTADebuggerVisualizerExternalViewer
  • IOTADebuggerSerivices: Register/UnregisterDebugVisuaizer
  • Source\Win32\Visualizers sample code

Back in the days, Chris Hesik was the person I went to in case I bumped into debugger oddities. He used to have a blog at Embarcadero: [Wayback/Archive] Chris’ Debugger Blog

But after leaving for AMD, his blog got deleted: [Wayback/Archive] Error!

Links

The rest of the blog post is a link dump:

Documentation

Old documentation, including valuable blogs and forum posts, is gone so it now boils down to what is currently available:

[Wayback/Archive] ToolsAPI – RAD Studio API Documentation

ToolsAPI identifiers related to the debugger
Interfaces Interface IDs
IOTADebuggerNotifier
IOTADebuggerNotifier100
IOTADebuggerNotifier110
IOTADebuggerNotifier90
IOTADebuggerServices
IOTADebuggerServices120
IOTADebuggerServices150
IOTADebuggerServices60
IOTADebuggerServices90
IOTADebuggerVisualizer
IOTADebuggerVisualizer250
IOTADebuggerVisualizerExternalViewer
IOTADebuggerVisualizerExternalViewerUpdater
IOTADebuggerVisualizerValueReplacer
IID_IOTADebuggerNotifier
IID_IOTADebuggerNotifier100
IID_IOTADebuggerNotifier110
IID_IOTADebuggerNotifier90
IID_IOTADebuggerServices
IID_IOTADebuggerServices120
IID_IOTADebuggerServices150
IID_IOTADebuggerServices60
IID_IOTADebuggerServices90
IID_IOTADebuggerVisualizer
IID_IOTADebuggerVisualizer250
IID_IOTADebuggerVisualizerExternalViewer
IID_IOTADebuggerVisualizerExternalViewerUpdater
IID_IOTADebuggerVisualizerValueReplacer

The numbers at the end of some identifiers correspond to the Package Version in [Wayback/Archive] Compiler Versions – RAD Studio (the version of the .BPL files). It means that in these versions of Delphi, changes were made:

  • 60: Delphi 6.0
  • 90: Delphi 2005 (9.0)
  • 100: Delphi 2006 (10.0)
  • 110: Delphi 2007 (11.0)
  • 120: Delphi 2009 (12.0)
  • 150: Delphi XE (15.0)
  • 250: Delphi 10.2 Tokyo (25.0)

I tried adding links to the respective (and archived) documentation pages if they contain more than just the auto-generated bits (i.e. a “Descrption”different from “Embarcadero Technologies does not currently have any additional information.”, but there were none.

After 15+ years, Embarcadero has failed to document all the ITADebugger identifiers.

Queries

--jeroen

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.