Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать лог к проге [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) Правда.


Наверх

Титульная страница Поиск, карта сайта Написать письмо