![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать лог к проге [D5, Win2k]
id_privin © (2002-10-23 10:34:00)Надо что-б прога писала отчет о своих действиях в файл, причем с разным уровнем детализации. Всвязи с этим возникает несколько вопросов.
1) Можно ли в run-time (или при компиляции) получить номер строки в коде. (типа __LINE в C )
2) Аналогичное про имя блока в котором находиться эта строка
3) Можно ли в функции получить того кто ее вызвал.
4) Можно ли получить стек вызовов (Типа того что в Delphi прилетает по Ctrl+Alt+S)
5) Правда ли что деректива {$DEFINE} действует только в пределах одного модуля?
id_privin (2002-10-23 11:43:00) [1]То что я уже понял. Берем map файл парсим, делаем ресурс, засовываем в экзешник, когда надо выковыриваем инфу. Cool. Я такого в жизни не напишу. Но опять же судя по исходникам в уже в шестой дельфе это все не нужно.
Bis (2002-10-23 11:27:00) [2]а не надо там случайно map файл создавать?
Игорь Шевченко (2002-10-23 11:24:00) [3]id_privin © (23.10.02 11:19)
Раз есть исходники - то все можно понять
id_privin (2002-10-23 11:19:00) [4]Спасибо. Там действительно все есть.
Даже исходники есть. Но я не понял как они это делают.
Может кто-нибудь может объяснить это. Хоть в общих чертах.
Игорь Шевченко (2002-10-23 10:57:00) [5]Пардон, JCL
Unit JCLDebug.pas
Игорь Шевченко (2002-10-23 10:53:00) [6]id_privin © (23.10.02 10:45)
www.delphi-jedi.org (JVCL)
Separator (2002-10-23 10:50:00) [7]Делай во всех подозрительных местах
try
except
и записыва в файл.
Bis (2002-10-23 10:48:00) [8]отладочные вещи типа __LINE делать можно, я видел где-то кучу таких, может быть (но не уверен) в новой реинкарнации RX (JVCL).
Глянь в инете.
id_privin (2002-10-23 10:45:00) [9]Имя блока - имя процедуры или функции в которой находиться строка
> 4) Да
Как? Расскажите пожалуйста.
Игорь Шевченко (2002-10-23 10:37:00) [10]1) Нет
2) ? Что такое имя блока ?
3) Нет
4) Да
5) Правда.