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

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

как найти вызов dll


Chubais ©   (2003-01-15 15:29:00) 

есть у меня прога, которая сообщает: Access violation at address 70C17009 in module "SHLWAPI.DLL" Read of address FFFFFFFF
как можно отловить вызов этой dll или узнать чо у ней по тому адресу и кто это вызывает?


Chubais   (2003-01-15 17:31:00) [1]

согласен, ты чертоффски прав)))
> Digitman © (15.01.03 17:23)


Digitman   (2003-01-15 17:23:00) [2]


> Chubais


ну ты как вопрос поставил, таков и ответ был)
ты ж не спросил, как локализовать ф-цию, в АП кода которой происходит исключение

ты спросил "чо по 70C17009 лежит", я тебе и ответил "чо" - например, такая-то маш.инструкция))


Chubais   (2003-01-15 16:59:00) [3]

> Digitman © (15.01.03 16:49)
а гришь
> вот мне и узнать бы, чо по 70C17009 лежит...

и что ты там увидишь ?

тепрь вота буду искать где UrlGetPartW вызывается))


Anatoly Podgoretsky   (2003-01-15 16:53:00) [4]

Думаешь правильно, но ошибка возможно не там, хотя возникает именно в этом модуле, просто туда могут поступать уже неверные данные


Digitman   (2003-01-15 16:49:00) [5]

похоже на то


Chubais   (2003-01-15 16:43:00) [6]

а если у меня с 70С16179 по 70С1719С идет код UrlGetPartW, то правильно ли я думаю, что и ошибка моя возникает в этой функции?


Digitman   (2003-01-15 16:02:00) [7]


> Chubais



> наскока я понимаю - по адресу 70C17009 лежит код, обращающийся
> к FFFFFFFF


правильно понимаешь

> вот мне и узнать бы, чо по 70C17009 лежит...

и что ты там увидишь ?
ну, предположим, увидишь ты там нечто вроде
mov eax, [edi + ebx]

и что ? о чем тебе такой код говорит ? дальнейшие твои действия ?


> где посмотреть дерево зависимостей?


возьми любой PE dependencies viewer, а ля depends.exe из состава MSVisualStudio, и его средствами изучай сабж


Игорь Шевченко   (2003-01-15 15:57:00) [8]

Отладчик в руки.


Chubais   (2003-01-15 15:54:00) [9]

а где посмотреть дерево зависимостей?
адрес я имел в виду 70C17009
наскока я понимаю - по адресу 70C17009 лежит код, обращающийся к FFFFFFFF
вот мне и узнать бы, чо по 70C17009 лежит...
или я неправильно понимаю?


Digitman   (2003-01-15 15:47:00) [10]

не нужно его ловить
и "чо у ней по тому адресу" тоже не ищи - нет там ничего по адресу FFFFFFFF и быть не может

а чтобы узнать, "кто это вызывает", просмотри дерево зависимостей всех исп.модулей своего проекта (включая все BPL, если проект собран с runtimt packages) от модуля shlwapi.dll

не исключено, что какой-то из "левых" компонентов, используемых тобой, некорректно (либо с некорректными параметрами) вызывает некоторую ф-цию из этой библиотеки ... по дереву зависимостей во многих случаях удается локализовать "глючный" модуль, и по имени модуля определить, код какого программного компонента в составе твоего проекта в нем размещается


Наверх

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