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

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

Шифровки Юстаса (Алексу) [D5, NT4]


Georg ©   (2002-02-21 11:58:00) 

Физкультпривет мастакам! Помогите плз разобраться с МАР-файлом. В опциях проекта на закладке Linker чековал опцию Publics. В проект кинул кнопку, при нажатии на которую должна возникать ошибка. Запустил проект, жму кнопку - сообщение об ошибке не выскакивает почему-то, ну и фиг с ним. Где мне найти в МАРе это сообщение. Как я понял из Хелпа, эта ошибка должна записаться туда с номером строки в модуле, где она возникла. Или я че-то не так понял?


McSimm   (2002-02-21 14:43:00) [1]

К слову, мой коллега как-то был в похожей ситуации - ошибка возникала якобы непредсказуемо и спровоцировать специально ее не мог.
Оказалось, что ошибка возникала при стечении некоторых обстоятельств, когда под курсором мыши оказывался hint.

Обратите внимание на хинты, вдруг ситуация подобна.


McSimm   (2002-02-21 14:19:00) [2]

Map файл я предложил использовать для локализации ошибки по адресу ее возникновения.
А протоколировать место возникновения ошибки надо самому.

Для этого можно повесить hook на kernel32.RaiseException

А проще - последовать совету и взять JCL. Там есть полный набор функций для этих дел и подробные примеры.


Dimka Maslov   (2002-02-21 13:05:00) [3]

В МАP файл не записываются сообщения об ошибках, в него записываюся при компиляции все глобальные переменные и функции с указанием адреса, кроме того записывается соответвствия той или иной строки исходного текста конкретному адресу при выполнении программы. Назначение этого файла - облегчение локализации ошибки. Например если программы выдаёт Access Violation at address ..., то можно по адресу найти тот участок кода, в котором появляется ошибка.


Georg   (2002-02-21 12:36:00) [4]

Суть в том, что иногда (логически не пойму в каких случаях, нет общих сиутаций) возникает ошибка "Индекс списка превышает максимум". Приложение не мое. Мест в коде, где могла бы возникнуть ошибка, до фига. Я пытался вчера повторять действия пользователей, чтобы вызвать эту ошибку, но бесполезно, она ни разу не всплыла.


Georg   (2002-02-21 12:32:00) [5]

Мне нежелательно, т.к. приложение уже в работе. Поэтому я и хотел обойти этот Stop


Анонимщик   (2002-02-21 12:23:00) [6]

А почему это в map-файле должна писаться твоя ошибка. Поставь лучше в меню Tools->Debugger Options птичку там, где написано:
Stop on Delphi Exceptions (этот элемент находится на закладке Language Exception). Понял?


Наверх

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