![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить номер строки в проекте по адресу при AV
DelphiN! © (2007-07-05 09:22:00)В одном большом проекте по каким-то непонятным причинам изредко возникает ошибка AV. Пользователь выслал мне точный текст ошибки, в котором указан адрес 0х7c81ed33.
Я создал .map файл и попытался найти данный адрес там, но его к сожалению там не оказалось, как мне узнать номер строчки кода и модуль, в котором возникает данная ошибка?
vpbar (2007-07-06 11:17:00) [1]Есть такая штука madCollection там эксперт по отлову ошибок (встраивает в приложение код который показывает кучу инфы вплоть до состояния регистров в момент ошибки). Если приложение Ваше встраиваете в него madExcept и ловля ошибок значительно упрощается. Эта штука бесплатна для НЕ комерческого применения.
trubin (2007-07-05 12:55:00) [2]Может JEDI поможет:
http://rsdn.ru/article/Delphi/DelphiJCL.xml
встроить это дело в проект, чтоб то что надо сбрасывалось в текстовый файл, и пусть тебе юзер его высылает.
Я пользуюсь, удобно.
Сергей М. (2007-07-05 10:19:00) [3]
> какой из них верный мне не известно
Ну а мне уж тем более)
Но если это таки EThread, то в твоем модуле очевидно есть какие-то ошибки, связанные с использованием тредов. А что у тебя с тредами творится - мне сие не ведомо.
DelphiN! (2007-07-05 10:14:00) [4]
> Сергей М. © (05.07.07 09:59) [3]
>
>
> Что за исключение EIhead ?
Незнаю что за исключение, возможно они неправильно переписали ошибку и там было написано Exception EThread in module OmegaCS.plu at 00023928.
Сейчас нашел все сообщения об этой ошибки и везде слово "EThread" написано поразному :) Варианты : "EThead", "EIhead", "EThread", "EIhread" какой из них верный мне не известно :(
>
> Как этот отказ связан с AV по указанному адресу ?
Данный отказ не связан с предыдущей ошибкой в kernel32.dll
Сергей М. (2007-07-05 09:59:00) [5]
> DelphiN! © (05.07.07 09:39) [2]
> как вы узнали что отказ произошел именно в модуле kernell32.
> dll?
Опыт).. Сын ошибок трудных)
Да все просто на самом деле. Приведенный тобой адрес 7c81ed33 попадает в диапазон адресов, занимаемых в ВАП процесса модулем kernel32.dll, базовый адрес загрузки которого фиксирован и равен 7С800000.
> Еще возникает ошибка со следующим текстом :
>
> Exception EIhead in module OmegaCs.plu of 00023928
>
> OmegaCS.plu - мой DLL модуль - плагин
>
> Как найти строчку ошибки по данному адресу?
>
Что за исключение EIhead ?
Как этот отказ связан с AV по указанному адресу ?
DelphiN! (2007-07-05 09:39:00) [6]
> Сергей М. © (05.07.07 09:31) [1]
>
>
А как вы узнали что отказ произошел именно в модуле kernell32.dll?
Еще возникает ошибка со следующим текстом :
Exception EIhead in module OmegaCs.plu of 00023928
OmegaCS.plu - мой DLL модуль - плагин
Как найти строчку ошибки по данному адресу?
Сергей М. (2007-07-05 09:31:00) [7]
> как мне узнать номер строчки кода и модуль, в котором возникает
> данная ошибка?
В данной конкретной ситуации никак. По причине недостатка информации для анализа.
Модуль этот - kernel32.dll, отказ в нем произошел по причине некоего инвалидного параметра, переданного тобой (явно или неявно) в одну из функций в составе этого модуля.