Форум программистов, компьютерный форум CyberForum.ru

Как узнать зависимость DLL-ки от других DLL-ек? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Butt-Head
Заблокирован
14.07.2015, 10:31     Как узнать зависимость DLL-ки от других DLL-ек? #1
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд.
Есть какая - то утилитка, чтоб зависимости посмотреть?
ОС: Винда
Есть Dependency Walker, но он для PE файлов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Butt-Head
Заблокирован
14.07.2015, 10:38  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #2
Сам нашёл
Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,592
14.07.2015, 10:43     Как узнать зависимость DLL-ки от других DLL-ек? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Butt-Head Посмотреть сообщение
Есть Dependency Walker, но он для PE файлов.
А то dll не PE.

http://www.dependencywalker.com/
scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.)
Есть еще плагин для Total Commander. FileInfo.
vxg
Модератор
 Аватар для vxg
2661 / 1672 / 156
Регистрация: 13.01.2012
Сообщений: 6,223
14.07.2015, 10:58     Как узнать зависимость DLL-ки от других DLL-ек? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Butt-Head Посмотреть сообщение
но он для PE файлов
запустил его (версия 2.2.6000 от 29 окт 2006) - спокойно открывает DLL и показывает про них все что нужно
Butt-Head
Заблокирован
14.07.2015, 11:33  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #5
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Цитата Сообщение от vxg Посмотреть сообщение
запустил его (версия 2.2.6000 от 29 окт 2006) - спокойно открывает DLL и показывает про них все что нужно


Добавлено через 27 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Да вроде нет. PE - Portable Executable, а DLL - Dynamic Link Library
vxg
Модератор
 Аватар для vxg
2661 / 1672 / 156
Регистрация: 13.01.2012
Сообщений: 6,223
14.07.2015, 11:38     Как узнать зависимость DLL-ки от других DLL-ек? #6
Цитата Сообщение от Butt-Head Посмотреть сообщение
вроде нет
https://msdn.microsoft.com/en-us/library/ms809762.aspx
Butt-Head
Заблокирован
14.07.2015, 12:05  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #7
vxg, ok, почитаю. (ну так в крации, DLL - тоже пусковым файлом считается?)
У меня тут другой вопрос. В общем пишу я один софт, который использует гис базу данных (SQLite + Spatialite).
Короче, есть там одна библиотека, которую я в рантайме должен подгрузить, она там много чего с собой тянет, но всё это у меня есть. Но! Dependency Walker показывает мне, что у меня нет каких то системных библиотек, см скрин. Как такое может быть? Винда левая? (Winj8.1 x64). VS redisr. x86/64 установлено.
Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
gazlan
2859 / 1807 / 271
Регистрация: 27.08.2010
Сообщений: 4,889
Записей в блоге: 1
14.07.2015, 12:12     Как узнать зависимость DLL-ки от других DLL-ек? #8
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE
Необязательно. Может быть и NE, а может быть и вообще, что угодно, с расширением DLL (по прихоти автора).

Не по теме:

Мне под видом "DLL" и картинки в .JPG попадались и .PDF файлы, и файлы лицензий итп.

Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
vxg
Модератор
 Аватар для vxg
2661 / 1672 / 156
Регистрация: 13.01.2012
Сообщений: 6,223
14.07.2015, 12:21     Как узнать зависимость DLL-ки от других DLL-ек? #9
Цитата Сообщение от Butt-Head Посмотреть сообщение
Dependency Walker показывает мне, что у меня нет каких то системных библиотек
не нужно ходить по зависимостям дальше системных библиотек - зачем вам знать от чего зависит USER32? он сам возьмет все что ему нужно. вас должны интересовать только экзотические библиотеки и их зависимости от экзотических библиотек
Butt-Head
Заблокирован
14.07.2015, 12:30  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #10
Цитата Сообщение от vxg Посмотреть сообщение
не нужно ходить по зависимостям дальше системных библиотек - зачем вам знать от чего зависит USER32?
Хмм, ну так он же показывает, что их нет, значит это уже не хорошо
Да я бы не ходил, если б эта dll-ка не падала при попытке загрузки ...
vxg
Модератор
 Аватар для vxg
2661 / 1672 / 156
Регистрация: 13.01.2012
Сообщений: 6,223
14.07.2015, 12:36     Как узнать зависимость DLL-ки от других DLL-ек? #11
Цитата Сообщение от Butt-Head Посмотреть сообщение
Да я бы не ходил, если б эта dll-ка не падала при попытке загрузки
ставлю 1 копейку что дело не в этом. если зависимость уходит к системной DLL, отслеживать ее нет смысла. вряд ли ваша DLL "мучает" систему сильнее чем все остальные компоненты
DrOffset
6424 / 3798 / 879
Регистрация: 30.01.2014
Сообщений: 6,592
14.07.2015, 12:39     Как узнать зависимость DLL-ки от других DLL-ек? #12
Цитата Сообщение от Butt-Head Посмотреть сообщение
DLL - тоже пусковым файлом считается?
Ага. На русском кое-что есть в вики.

Не по теме:

Цитата Сообщение от gazlan Посмотреть сообщение
Может быть и NE
Точно. Можно было бы и скрин не делать. У меня нет привычки спорить с очевидным

Цитата Сообщение от gazlan Посмотреть сообщение
а может быть и вообще, что угодно, с расширением DLL
У нас так один товарищ работая для *nix, постоянно исполняемые файлы именует *.exe. В централизованной сборке естественно этого нет, а вот локально у себя упорно продолжает и никакие уговоры не действуют.
Естественно ELF в PE от этого не превращается

gazlan
2859 / 1807 / 271
Регистрация: 27.08.2010
Сообщений: 4,889
Записей в блоге: 1
14.07.2015, 12:42     Как узнать зависимость DLL-ки от других DLL-ек? #13
Цитата Сообщение от DrOffset Посмотреть сообщение
Естественно ELF в PE от этого не превращается

Не по теме:

:-)))

Avazart
 Аватар для Avazart
6900 / 5140 / 252
Регистрация: 10.12.2010
Сообщений: 22,580
Записей в блоге: 17
14.07.2015, 13:08     Как узнать зависимость DLL-ки от других DLL-ек? #14
Есть(была) такая проблема Qt5 Перенос приложения на другой компьютер ну и как решение Программа для сборки библиотек для переноса Qt-приложений собственно можно использовать ProcMon/ProcExp или написать свою тузлу.

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Ну как бы увидит только таблицу импорта т.е то что загружается неявно.
Butt-Head
Заблокирован
14.07.2015, 14:09  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #15
Я вот чё то не пойму, могут быть проблемы, если в в дебажной конфигурации подсовываю релизные Dll-ки? По идее там ж только символов нет и пр, работать то должно ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 14:13     Как узнать зависимость DLL-ки от других DLL-ек?
Еще ссылки по теме:

Запись из внедренной dll в другую dll этого процесса C++
Можно ли узнать, каким компилятором была собрана ты или иная DLL-ка ? C++
C++ Как подключить dll на C# к проекту (dll) на С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vxg
Модератор
 Аватар для vxg
2661 / 1672 / 156
Регистрация: 13.01.2012
Сообщений: 6,223
14.07.2015, 14:13     Как узнать зависимость DLL-ки от других DLL-ек? #16
Цитата Сообщение от Butt-Head Посмотреть сообщение
могут быть проблемы, если в в дебажной конфигурации подсовываю релизные Dll-ки
теоретически проблем быть не должно на практике имел опыт когда приложение падало с релизными сборками и работало с дебажными (по сравнению с вашим случаем это наоборот но наводит на мысль)
Yandex
Объявления
14.07.2015, 14:13     Как узнать зависимость DLL-ки от других DLL-ек?
Ответ Создать тему
Опции темы

Текущее время: 18:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru