Заблокирован
1

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

14.07.2015, 10:31. Показов 23307. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд.
Есть какая - то утилитка, чтоб зависимости посмотреть?
ОС: Винда
Есть Dependency Walker, но он для PE файлов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2015, 10:31
Ответы с готовыми решениями:

Как узнать путь к загруженной DLL из самой DLL?
Создаю небольшую программку в папке c:/test/app/, есть DLL в папке c:/test/dll/. В коде самой...

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями?
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете...

Как добавить DLL к проекту, чтобы приложение работало на других ПК
Всем привет. Сделал простенькую программу с использование mfс на VS 2013 pro. У меня на...

Как узнать имя проекта dll без использования GetModuleFileName?
Всем привет. Есть еще варианты узнать имя проекта (или самой dll) без использования...

15
Заблокирован
14.07.2015, 10:38  [ТС] 2
Сам нашёл
Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
0
18822 / 9826 / 2401
Регистрация: 30.01.2014
Сообщений: 17,260
14.07.2015, 10:43 3
Лучший ответ Сообщение было отмечено Butt-Head как решение

Решение

Цитата Сообщение от 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.
1
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
14.07.2015, 10:58 4
Лучший ответ Сообщение было отмечено Butt-Head как решение

Решение

Цитата Сообщение от Butt-Head Посмотреть сообщение
но он для PE файлов
запустил его (версия 2.2.6000 от 29 окт 2006) - спокойно открывает DLL и показывает про них все что нужно
1
Заблокирован
14.07.2015, 11:33  [ТС] 5
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Цитата Сообщение от vxg Посмотреть сообщение
запустил его (версия 2.2.6000 от 29 окт 2006) - спокойно открывает DLL и показывает про них все что нужно


Добавлено через 27 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Да вроде нет. PE - Portable Executable, а DLL - Dynamic Link Library
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
14.07.2015, 11:38 6
Цитата Сообщение от Butt-Head Посмотреть сообщение
вроде нет
https://msdn.microsoft.com/en-... 09762.aspx
1
Заблокирован
14.07.2015, 12:05  [ТС] 7
vxg, ok, почитаю. (ну так в крации, DLL - тоже пусковым файлом считается?)
У меня тут другой вопрос. В общем пишу я один софт, который использует гис базу данных (SQLite + Spatialite).
Короче, есть там одна библиотека, которую я в рантайме должен подгрузить, она там много чего с собой тянет, но всё это у меня есть. Но! Dependency Walker показывает мне, что у меня нет каких то системных библиотек, см скрин. Как такое может быть? Винда левая? (Winj8.1 x64). VS redisr. x86/64 установлено.
Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
14.07.2015, 12:12 8
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE
Необязательно. Может быть и NE, а может быть и вообще, что угодно, с расширением DLL (по прихоти автора).

Не по теме:

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

Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
2
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
14.07.2015, 12:21 9
Цитата Сообщение от Butt-Head Посмотреть сообщение
Dependency Walker показывает мне, что у меня нет каких то системных библиотек
не нужно ходить по зависимостям дальше системных библиотек - зачем вам знать от чего зависит USER32? он сам возьмет все что ему нужно. вас должны интересовать только экзотические библиотеки и их зависимости от экзотических библиотек
0
Заблокирован
14.07.2015, 12:30  [ТС] 10
Цитата Сообщение от vxg Посмотреть сообщение
не нужно ходить по зависимостям дальше системных библиотек - зачем вам знать от чего зависит USER32?
Хмм, ну так он же показывает, что их нет, значит это уже не хорошо
Да я бы не ходил, если б эта dll-ка не падала при попытке загрузки ...
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
14.07.2015, 12:36 11
Цитата Сообщение от Butt-Head Посмотреть сообщение
Да я бы не ходил, если б эта dll-ка не падала при попытке загрузки
ставлю 1 копейку что дело не в этом. если зависимость уходит к системной DLL, отслеживать ее нет смысла. вряд ли ваша DLL "мучает" систему сильнее чем все остальные компоненты
0
18822 / 9826 / 2401
Регистрация: 30.01.2014
Сообщений: 17,260
14.07.2015, 12:39 12
Цитата Сообщение от Butt-Head Посмотреть сообщение
DLL - тоже пусковым файлом считается?
Ага. На русском кое-что есть в вики.

Не по теме:

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

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

1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
14.07.2015, 12:42 13
Цитата Сообщение от DrOffset Посмотреть сообщение
Естественно ELF в PE от этого не превращается

Не по теме:

:-)))

0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.07.2015, 13:08 14
Есть(была) такая проблема Qt5 Перенос приложения на другой компьютер ну и как решение Программа для сборки библиотек для переноса Qt-приложений собственно можно использовать ProcMon/ProcExp или написать свою тузлу.

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Ну как бы увидит только таблицу импорта т.е то что загружается неявно.
1
Заблокирован
14.07.2015, 14:09  [ТС] 15
Я вот чё то не пойму, могут быть проблемы, если в в дебажной конфигурации подсовываю релизные Dll-ки? По идее там ж только символов нет и пр, работать то должно ...
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
14.07.2015, 14:13 16
Цитата Сообщение от Butt-Head Посмотреть сообщение
могут быть проблемы, если в в дебажной конфигурации подсовываю релизные Dll-ки
теоретически проблем быть не должно на практике имел опыт когда приложение падало с релизными сборками и работало с дебажными (по сравнению с вашим случаем это наоборот но наводит на мысль)
1
14.07.2015, 14:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2015, 14:13
Помогаю со студенческими работами здесь

Как подключить dll на C# к проекту (dll) на С++
Подскажите, пожалуйста, как подключить dll на C# к проекту (dll) на С++. В интернете много...

Зависимость от других DLL и динамическая их загрузка
При компиляции DLL было использовано 5 других DLL ( References ). Скриншот: Что надо...

Сборка Qt: отучение Qt от mingw10.dll, libgcc_s_dw2-1.dll и других Qt***.dll
В связи с тем, что часто возникают одни и те же вопросы, а в нете копаться никто не любит привожу...

Как узнать какие dll Загружает процесс или dll
Проблема вот в чем: Нужно определить какие dll загружает процесс. Есть ли такая функция WinAPI?


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru