madLinkDisAsm Unit

In the madExcept settings dialog you can choose whether you want madExcept to add a disassembly of the exception location to the bug report. Unfortunately the functionality to put out disassemblies costs ca 16kb of additional footprint. Normally this would now be linked into every binary which uses madExcept. Of course we don't like that, so madExcept doesn't touch the 16kb function. But in case madExcept really needs it, we do a manual link to it. This is exactly what this unit is doing. Here's the full source code of the unit:

unit madLinkDisAsm;



uses madExcept, madDisAsm;

  // manually link madExcept to madDisAsm's internal disassembly function
  madExcept.DisAsmFunc := madDisAsm.ParseFunctionEx;

The IDE wizard automatically adds this unit to your project's uses clause if your settings say that you want to have a disassembly in the bug report. By using this dirty trick you only need to pay the 16kb footprint, if you really want to a disassembly of the exception location in the bug report.