Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Ошибка по адресу такому-то


Автор: December 15.3.2006, 13:51
Greetings All!
Пользователь проги присылает скриншот error message'a: ошибка по такому-то адресу. Всё. Естественно, хочется выдрать из этого адреса побольше информации.
Вопрос: как это сделать? Все исходники есть, включая те, из которых была скомпилена данная версия.
Ещё: влияет ли ось на этот адрес? Я работаю на двушке, а юзер юзает хрюшку.

Автор: Guedda 15.3.2006, 13:55
Посмотри, тут не помню кто как то оставлял доку со всеми ошибками. Мож пригодится:

Автор: Romikgy 15.3.2006, 13:59
Имхо адресс динамический всегда (хотя могу и ошибатся smile)
Проще спросить юзера , че он сделал , после чего выскочил еррор?

Автор: _hunter 15.3.2006, 14:15
толку от этого адреса 0 ( ноль )
потому как без последовательности действий попасть в этот адрес сложновато.
лучше трассировку стека прикрутить...

Автор: DragonFire 15.3.2006, 15:43
Вот это правильно - отладка великая вещь а всякие эрроры по адресу - это же вроде когда что-то куда-то нетуда пишется в оперативной памяти... Адрес тебе поможет, если ты в ассемблере шаришь...

Автор: p0s0l 15.3.2006, 16:08
Если известен адрес инструкции, вызвавшей исключение, то можно попробовать узнать место, где приозошло исключение с помощью Find->Search Error (нужно запустить проект и нажать Program Pause)... Можно еще посмотреть мап-файлы, но это менее удобно...

Автор: bems 15.3.2006, 17:53
Могу ошибаться, но на информативность адреса влияет не столько версия ос, сколько базовый адрес модуля (загруженого), особенно если он отличается от твоего. Попровочку делать надо
Добавлено @ 17:58
А на будущее - прикручивай к проекту madExcept - в баг-репорте получишь стек, список процессов, потоком и модулей, и дизасм кода вызвавшего исключение - я вчера поставил - круто блин! Но местами глючит, нужно поиграться с настройками

Автор: December 16.3.2006, 12:39
Так.
Всем спасибо за ответы smile Поэкспериментирую - вернусь ещё с пачкой вопросов smile
Цитата(Romikgy @ 15.3.2006, 13:59 Найти цитируемый пост)

Проще спросить юзера , че он сделал , после чего выскочил еррор?
В том-то и проблема, что не проще smile
Цитата(_hunter @ 15.3.2006, 14:15 Найти цитируемый пост)

лучше трассировку стека прикрутить...
Тогда вопрос - как? У меня в ApplicationEvents в OnException все исключения подавляются. И тем не менее юзер увидел ошибку. Можно ли в этом случае как-то автоматически получить стэк?
Цитата(DragonFire @ 15.3.2006, 15:43 Найти цитируемый пост)

Адрес тебе поможет, если ты в ассемблере шаришь...
Шарю, потому и вопрос поднял...
Цитата(p0s0l @ 15.3.2006, 16:08 Найти цитируемый пост)

Можно еще посмотреть мап-файлы, но это менее удобно...
А можно по этому пункту подробнее?
Цитата(bems @ 15.3.2006, 17:53 Найти цитируемый пост)

прикручивай к проекту madExcept
Линк в студию! smile

Автор: _hunter 16.3.2006, 12:56
раскрутка стека есть в jcl ( ихний jclDebug ) -- это если нашару
и есть EurekaLog -- там все за тебя сделанно ( даже отчеты сама генерит ) но денег стоит

Автор: bems 16.3.2006, 14:36
Цитата(December @ 16.3.2006, 12:39 Найти цитируемый пост)
Линк в студию!
http://www.madshi.net

Автор: December 19.3.2006, 18:54
Всем ещё раз спасибо, вопрос решён.
Find Error работает, и толк от него есть, но минимальный smile
bems, линк рулит

Автор: Alex 20.3.2006, 00:23
Пример глобального отлова исключительных ситуаций и протоколирования их в файл. Использована технология Map- файлов. Производится запись ошибки, где она возникла (файл, класс, метод и строку).
http://alex-co.com.ru/delphi/Files/Samples/Map.zip

Автор: Igor_thief 23.5.2007, 14:28
Цитата(Alex @ 19.3.2006,  23:23)
Пример глобального отлова исключительных ситуаций и протоколирования их в файл. Использована технология Map- файлов. Производится запись ошибки, где она возникла (файл, класс, метод и строку). 
http://alex-co.com.ru/delphi/Files/Samples/Map.zip

А можно снова выложить этот пример, а то ссылка на файл умерла :(

И еще, на сайте http://www.eurekalog.com/details.php сказано следующее:

EurekaLog only uses the compiled file, not the .MAP file.


Интересно, как они делают это без map файлов?

Автор: MetalFan 23.5.2007, 14:46
Цитата(Alex @  20.3.2006,  00:23 Найти цитируемый пост)
http://alex-co.com.ru/delphi/Files/Samples/Map.zip

линк умёр

Автор: Alex 23.5.2007, 18:27
Перезалито

Автор: MetalFan 23.5.2007, 20:30
Alex, все хорошо, но в архиве нет используемого jclDebug...

Автор: Alex 23.5.2007, 22:08
Он входит в состав http://sourceforge.net/project/showfiles.php?group_id=47514

Автор: Angel_19 8.11.2009, 22:06
Цитата(MetalFan @ 23.5.2007,  15:46)
Цитата(Alex @  20.3.2006,  00:23 Найти цитируемый пост)
http://alex-co.com.ru/delphi/Files/Samples/Map.zip

линк умёр

Объект не найден!

Перезалейте. smile

Автор: Alex 8.11.2009, 22:45
Перезалито

Автор: Angel_19 9.11.2009, 09:17
Спасибо!

Автор: CodeMonkey 10.11.2009, 11:00
Ещё http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=57527.

Автор: Angel_19 10.11.2009, 23:33
Цитата(CodeMonkey @ 10.11.2009,  12:00)
Ещё http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=57527.

Вникаю.
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)