У моего коллеги есть крутой лайфхак: вы связываете DLL-файлы с Dependency Walker, и теперь, когда вы пытаетесь "запустить" DLL-файл, он открывает Dependency Walker для анализа.
Проблема в том, что существует две версии Dependency Walker: одна 32-битная и другая 64-битная. И рекомендуется использовать версию той же разрядности для .dll:
Да. Dependency Walker будет работать с любым 32-битным или 64-битным модулем Windows. Существуют 32-битные и 64-битные версии Dependency Walker. Все версии способны или открывать 32-битные и 64-битные модули. Однако использование 32-разрядного Dependency Walker для обработки 32-разрядных модулей имеет большие преимущества и 64-разрядное Dependency Walker для обработки 64-разрядных модулей. Это особенно верно при работе в 64-разрядной версии Windows, которая позволяет выполнять как 32-разрядные, так и 64-разрядные программы. 32-битная подсистема в 64-битной Windows (известная как "WOW64") имеет собственный частный реестр, "AppPaths", "KnownDlls", системные папки и обработку манифеста. Только 32-разрядная версия Dependency Walker может получить доступ к этой 32-разрядной среде, которая необходима для точной обработки 32-разрядного модуля. Аналогично, только 64-разрядная версия Dependency Walker может полностью получить доступ к 64-разрядной среде, поэтому ее всегда следует использовать для обработки 64-разрядных модулей.
Есть ли способ связать 32-разрядные библиотеки DLL с 32-разрядной версией Dependency Walker и 64-разрядные библиотеки DLL с 64-разрядной версией Dependency Walker? Мне особенно интересен ответ для Windows 7 или 10.