![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Шифровки Юстаса (Алексу) [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). Понял?