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,470 other followers

Archive for the ‘Debugging’ Category

Hi there. Is it possible to get RTTI information for IDE “built-in” classes …

Posted by jpluimers on 2018/12/04

For my link archive: [WayBack] Hi there.Is it possible to get RTTI information for IDE “built-in” classes with an OTA Wizard?Let’s say I create a TRttiContext object in my wizard…. – Fl Ko – Google+

Here is an IDE explorer that helps: [WayBack] GitHub – DGH2112/Delphi-IDE-Explorer: A RAD Studio IDE wizard / expert / plugin that allows you to browser the internal fields, methods, properties and events of the IDE.


Posted in Debugging, Delphi, Development, Software Development | Leave a Comment »

Delphi call stack from exception…

Posted by jpluimers on 2017/08/02

Lars Fosdal:

MADExcept and Eurekalog are good products (and there is a JVCL tool as well). If you run your app in the IDE, you get the stack there – but for now, you need to acquire a third party package to get it runtime.I don’t disagree with the wish for a basic call stack tool, that works cross platform, but it would affect third party developers.

Stefan Glienke:

Whats the problem? You attach handlers to Exception.GetExceptionStackInfoProc, GetStackInfoStringProc and ` and just call a function that grabs the map or td32 info and generates the callstack – if you don’t want to spend any money for a high quality tool like madExcept (can even use it for free for non commercial use!) then use JclDebug.pas

I edited in some URLs above; the actual info is from: Why Delphi (like other developer environments) natively not included full call stack for every exception… [WayBack] (which is because it would kill even more of the Delphi 3rd party market).

And it taught me about this by madshi (of MADExcept fame):

DebugEngine is a collection of utils related to debug stuff (stack trace, CPU registers snaphot, debug info,…). Basically, I started to write a commercial error log plugin for Delphi, then I noticed that my internal framework got bigger and bigger. So I decided to share it with the community in hope it will be useful.

Source: MahdiSafsafi/DebugEngine: Delphi debug framework

And there is the JCL ExceptDlg.pas which is quite easy to use: just add it anywhere to your project and the global exception handler will show you a stack trace provided you have a .MAP file or .TDS file (which contains TD32 symbol information) in the same directory as your .EXE.


Example code:

Posted in Debugging, Delphi, Development, MAP Symbol Information, Software Development, TD32/TDS Symbol information | 5 Comments »

When AQTime thinks it’s running during install and aborts installation

Posted by jpluimers on 2016/11/29

I had this warning (which is actually an error: you cannot continue as pressing OK would get you the same warning over and over again) during AQTime installation a while ago:

Setup has detected AQtime running on your computer. You must close the application and press OK to continue.

Press Cancel to abort installation.
OK   Cancel

Back then:

  1. I was Administrator
  2. The Installer download was from
  3. The embedded version was 8.50.1720
  4. It did successfully extract the AQtime.msi before bailing out

The fix (from SmartBear support) was remarkably simple, so I was surprised I could not find it online:

If your downloaded, saved AQtime installation package is named AQtime.exe, rename it: (ex: AQtime850.exe and you should then be able to complete the installation process.

So basically renaming AQTime.exe into AQTime850.exe allowed it to install.


Posted in Debugging, Development, Software Development | Leave a Comment »

CppCon 2015: Greg Law ” Give me 15 minutes & I’ll change your view of GDB” – YouTube

Posted by jpluimers on 2016/11/17

CppCon 2015: Greg Law ” Give me 15 minutes & I’ll change your view of GDB” – YouTube

via: Things you did not know about GDB – Kristian Köhntopp – Google+


Posted in Debugging, Development, GDB, Software Development | Leave a Comment »

Delphi – unmangle names in BPL’s – Stack Overflow

Posted by jpluimers on 2016/10/12

Check out $(BDS)\source\cpprtl\Source\misc\unmangle.c – it contains the source code for the unmangling mechanism used by TDUMP, the debugger and the linker. (C++Builder and Delphi use the same mangling scheme.)

This has been around as long as BCC itself. However the file was called um.c instead of unmangle.c in older versions

Source: [WayBackDelphi – unmangle names in BPL’s – Stack Overflow both by User Moritz Beutel.

It’s the same mangling used in the TD32/TDS and MAP symbols.

And neede to improve (which is my fork of which contrary to it’s name also supports TDS/TD32 conversions in tds2pdb. The code is C# and works in virtually any Visual Studio version of 2012 and younger.



Posted in Debugging, Delphi, Development, MAP Symbol Information, Software Development, TD32/TDS Symbol information | Leave a Comment »

%d bloggers like this: