Виведення стека викликів в рядок в delphi

Інструменти для формування звітів про помилки, такі як Eurekalog або madExcept. або помічники по налагодженню, такі як JclDebug можуть реєструвати себе як постачальники і повертати трасування стека при виникненні помилок. Давайте випробуємо в дії безкоштовну бібліотеку JEDI Code Library (JCL) (останню версію бібліотеки можна завантажити тут). Щоб властивість StackTrace автоматично почало повертати стек викликів, встановіть бібліотеку собі на комп'ютер і просто підключіть юніт JclDebug в свій проект:

Ось простий приклад, де я підключив юніт JclDebug і зберігаю в текстовий файл трасування стека будь-якої помилки, яка сталася в програмі.

Після виконання прикладу в файл stacktrace.txt додасться наступний стек викликів:

Кому-то це кількість інформації здасться надмірною, а кому-то захочеться додати чогось ще. У прикладі нижче, я продемонструю, як створити свого постачальника використовуючи юніт JclDebug.

В результаті в файл stacktrace.txt додасться наступна інформація.

І на завершення хочу сказати, що зберігаючи трасування стека, наприклад, в файл журналу, ви набагато спростите собі пошук несправностей в програмі надалі.