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

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

Процессы приложений [D6, WinXP]


Страницы:   1 2

Elen ©   (2006-04-14 11:57:00) 

Господа! Есть ли возможность получить список функций и процедур и их адреса, которые использует указанный загруженный процесс?


Сергей М.   (2006-04-14 15:10:00) [21]


> Elen ©   (14.04.06 15:03) [12]


Какие нафих "релоки" при вызове п/п а-ля call [SomeCommonUsageRegister] ?)


Игорь Шевченко   (2006-04-14 15:10:00) [22]

Сергей М. ©   (14.04.06 15:08) [13]


> Не лезь в дебри.


Мне можно.

Elen ©   (14.04.06 15:03) [12]


> , и вроде есть какая-то карта памяти процесса, где описаны
> вызовы и релоки.


Есть. Называется таблица импорта. Но прежде чем давать какой-то совет, ты скажи, нафига тебе это надо ?


Сергей М.   (2006-04-14 15:08:00) [23]


> Игорь Шевченко ©   (14.04.06 14:55) [11]


Не лезь в дебри.
лучше направь автора на путь истинный. Дабы хотя бы в терминологии у нее в голове прояснилось.


Elen   (2006-04-14 15:03:00) [24]

Но все же например Depender из Visual Studio показывает связи процесса с подпрограммами, и вроде есть какая-то карта памяти процесса, где описаны вызовы и релоки. Знает ли кто-нибудь о ее существовании? Если знает то поподробнее пожалуйста.


Игорь Шевченко   (2006-04-14 14:55:00) [25]

Сергей М. ©   (14.04.06 14:00) [10]

А что, много компиляторов генерирует такие вызовы процедур ? Я не уверен, что справится, скорее всего, не справится, но см. начало поста.


Сергей М.   (2006-04-14 14:00:00) [26]


> Игорь Шевченко ©   (14.04.06 13:29) [9]


Тот самый "любой профилировщик с поддерживаемой опцией" справится с задачей отслеживания вызовов вида

push адрес_возврата
jmp точка_входа

?


Игорь Шевченко   (2006-04-14 13:29:00) [27]

Сергей М. ©   (14.04.06 13:27) [8]


> Просто "функций и процедур" - и все тут... И бессилен тут
> Неббет ..


В таком случае сгодится любой профилировщик с поддерживаемой опцией Coverage analysis.


Сергей М.   (2006-04-14 13:27:00) [28]


> Игорь Шевченко ©   (14.04.06 13:23) [7]


Про именно импортируемыеп/программы у автора ни слова в вопросе.

Просто "функций и процедур" - и все тут... И бессилен тут Неббет ..


Игорь Шевченко   (2006-04-14 13:23:00) [29]

Сергей М. ©   (14.04.06 13:02) [6]

Так Неббет как раз на эти вызовы ставит Breakpoints и по анализу их срабатывания определяет, что вызывалось, а что нет.


Сергей М.   (2006-04-14 13:02:00) [30]


> Игорь Шевченко ©   (14.04.06 12:55) [5]


При неких условиях в некий момент некая п/программа Х вызывается, а при неких иных условиях она же ни  разу не вызывается.

Можно ли считать, что п/программа Х "используется" процессом приложения ?
Судя по абстрактному пояснению "в ходе работы" (см. [3]) - нельзя.


Игорь Шевченко   (2006-04-14 12:55:00) [31]


> Есть ли возможность получить список функций и процедур и
> их адреса, которые использует указанный загруженный процесс?
>


Да, через отладчик. Для импортируемых процедур. У Гэри Неббета пример есть. Неббета можно найти в тырнете.


Сергей М.   (2006-04-14 12:38:00) [32]


> вызывает в ходе работы


Увы, нет такой возможности.

Факт хотя бы однократного вызова той или иной п/программы определяется логикой закодированного в ней алгоритма, но отнюдь не фактом присутствия в коде приложения кода той или иной п/программы.


Elen   (2006-04-14 12:29:00) [33]

Использует - значит вызывает в ходе работы. Декомпилоровать кстати нет возможности. Определять должна программа


vodvorezlaya   (2006-04-14 12:15:00) [34]

Взять исходник процесса, декомпилировать )))


Сергей М.   (2006-04-14 12:07:00) [35]

Что значит "использует" ? Поясни ..


Страницы:   1 2

Наверх

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