EurekaLog is a tool for Delphi and C++Builder that gives your application the power to catch every exception and memory/resource leak, generating a detailed log of the call stack (with unit, procedure and line number), optionally sending you a copy of each log entry via email or the Web via the most used Web Bug-Tracking tools (as Mantis, BugZilla, FogBugz, and JIRA).EurekaLog represents the most advanced exception and memory leaks logger technology available for Delphi/C++Builder developers.
To learn more about EurekaLog, please visit our website at:
https://www.eurekalog.com
To download a demo, please visit:
https://www.eurekalog.com/downloads.php
If you would like to purchase a new license, please visit:
https://www.eurekalog.com/buy.php
Changes:
- Important: Installer will ask you a licence information. See: New license checks in EurekaLog installers
- Important: Debug information format was completely changed. Be sure to test your applications
- Important: Added a major upgrade to bug tracker code. Be sure to test your applications
- Important: BugID generation alg was changed. Be sure to test your applications
- Important: EurekaLog will now store configuration in .eof file instead of .dof, .bdsproj, .dproj, etc.
- Added: Support for 10.2 Tokyo
- Added: ecc32 will now modify uses list in your .dpr file to match specified configuration
- Added: --el_prepare switch is added to be used when --el_alter_exe is used
- Added: New option to stip all string names from debug information and store it in external file
- Added: Debug information's and ZIP's passwords are now saved locally on developer machine - to be used by application and Viewer (this simplifies local debugging when passwords are set). OnPasswordChange event will not be called
- Added: New "--el_password=debug-info-password" command-line option can be passed to application to decrypt encrypted debug information. OnPasswordChange event will not be called
- Added: Our own implementation of XML, XML-RPC, and SOAP. We no longer use RTL's implementation, therefore now we have support for bug tracker's API even on old IDEs
- Added: New options for bug trackers (new fields, append call stack instead of full bug report, links, text limits)
- Added: A helper "Connect" button in EurekaLog project options dialog to retrieve project names, users, field names, components, areas, and other info for bug tracker
- Added: Working hyper-links support in bug tracker success message via TaskDialogs (Vista+)
- Added: BugID tab in EurekaLog project options dialog - allowing you to customize uniqueness without writing OnCustomBugID event handler
- Added: New column in call stack: "Source" (e.g. actual .pas file name)
- Added: Threads selection to hang detection page
- Added: Support for MessageBox from NT services
- Added: "Lookup Error" option in Viewer - there is a new toolbar, as well as new context menu item for "General" tab
- Added: ELogging unit implements log capabilities. EurekaLog will stream log into CodeSite-compatible format. Currently it has no UI control. Use ELogOpen function to stream log to the specified file
- Added: (Delphi only) EurekaLog units in uses list are wrapped into IFDEF block
- Added: Call stack, modules and processes use different colors now. For call stacks: red indicates exception line, black - stack frame entry (positive), grey - RAW (could be false-positive), other colors - service entries
- Added: Support for DataSnap applications. Do not forget to enable EurekaLog for background threads (either as "Enable for RTL threads" or as SetEurekaLogStateInThread in OnConnect handler)
- Added: Handler name property for exception info and ability to filter with it. Handler name indicates handler which is processing the exception, it can be used to distinguish between VCL, Thread, DataSnap exceptions, etc.
- Added: Ability to filter by descendant classes
- Added: ACompareForCount argument to DumpAllocationsToFile routine
- Added: LoadCustomizedTextsToStream/SaveCustomizedTextsToStream
- Added: Threads Snapshot tool can be used as post-morten debugger. Use /install command-line switch to register tool as debugger (admin rights are required).
- Added: Support for Synopse mORMot (.mab) debug information format
- Added: "Terminate threads on shutdown" option
- Fixed: Reduced ecc32/emake memory footprint, thus allowing to post-process larger projects
- Fixed: Debug information design-time performace optimizations (reduced compilation time)
- Fixed: Debug information run-time performace optimizations (reduced startup time)
- Fixed: Minor optimizations for call stack to string render
- Fixed: Display bug in detailed EurekaLog dialog tabs when not all tabs were showing
- Fixed: [10.1 Berlin] Weak references are no longer detected as leaks
- Fixed: A "recursive area removed" mark may be left in call stack even if area's items were filtered out
- Fixed: Fatal errors (e.g. panic mode) now properly set terminate option in dialogs
- Fixed: Possible crash on startup when using certain 3rd party memory managers
- Fixed: Possible crash when EurekaLog's debug mode is enabled
- Fixed: XML header of bug reports
- Fixed: Added workaround for OTA bug when {$E ext} is used in project
- Fixed: (C++ Builder only) Possible crash when handling certain exceptions
- Fixed: Firebird Embedded in Viewer was upgraded to 2.5.6. This solves a rare encoding problem when using Firebird backend
- Fixed: (Delphi 2005 and earlier) Bug in workaround for QC Report #3018
- Fixed: Checkboxes not respecting default state when switching between dialogs (e.g. MS Classic -> EurekaLog Detailed)
- Fixed: Visual glitches in EurekaLog dialogs when VCL styles are used
- Fixed: Compatibility with 3rd party software of password-encrypted ZIPs
- Fixed: Possible range check error in debug information
- Fixed: EurekaLog dialogs are now per-monitor DPI awared
- Fixed: Silent ignoring invalid time stamps in PE headers
- Fixed: Added workaround for certain bugs in .map files
- Fixed: Minor regression issues
- Fixed: Viewer may hang when passing file name to open to main instance
- Fixed: Windows 2000 compatibility issues
- Fixed: Possible stack overflow in multi-threaded apps when low-level hooks are disabled
- Fixed: CLang compatibility fixes
- Fixed: DebugExport provider will now load names only on demand (performance boost on startup)
- Fixed: Possible crash when processing certain external exceptions
- Improved: New call stack/assembler encryption when encrypt password is set for debug info
- Improved: Better call stack filtering from EL service routines when encryption is enabled
- Improved: Any share violation error during compilation will report which process is holding the file
- Changed: ecc32.exe and emake.exe are the same file for all IDEs. Current IDE is selected based on ecc32/emake file location or via --el_ide=num command-line option
- Changed: Translations of strings with "application" substitution now supports selecting a specific "application" translation. Simply replace %s with %0:s or %1:s. Default translations are already adjusted.
- Changed: Internal crash reports made Viewer-compatible
- Changed: Removed stubs for ComObj unit
- Removed: Web-based bug tracker support