walker verificar ver usa sirve saber registrados que programa para descargar depends22_x64 dependency dependencias como windows dll command-line

windows - verificar - Herramienta de línea de comandos para encontrar dependencias Dll



ver ocx registrados (3)

¿Qué herramientas de línea de comandos existen para encontrar recursivamente todas las dependencias de DLL? Probé Dumpbin y Dependency Walker (también conocido como Depends.exe) que vienen con Visual Studio, pero dumpbin solo encuentra el primer nivel de dependencias, y la salida de Dependency Walker no es realmente amigable para computadora.


Pruebe la opción /oc:FILENAME para depende, para escribir un archivo de valores separados por comas. Parece que es más fácil de analizar por máquina que el archivo de texto de "forma libre" generado por la opción / ot: NOMBRE DE ARCHIVO /.


Dependency Walker tiene muchas opciones, incluidas las opciones de salida a archivo. Uno de estos es /oc:<path> que escribe el resultado en un archivo CSV , que es fácilmente analizado por otras herramientas o incluso simplemente importado en una aplicación de hoja de cálculo.

Dependiendo de lo que necesite las dependencias para usted, en realidad puede tener herramientas multiplataforma para hacer esto también, por ejemplo CMake fixup-bundle, que puede copiar todas las dependencias no pertenecientes al sistema detectadas a la ubicación de su destino (biblioteca ejecutable o compartida), incluso en Windows. La documentación no lo explica con claridad, pero lo he usado para ese propósito en un proyecto multiplataforma desde hace un tiempo.


Usando la opción /oc:<path> , Dependency Walker le proporciona un archivo CSV que se analiza fácilmente. Si también desea las rutas a las bibliotecas, también necesita usar la opción -f 1 . Es posible que desee hacer esto si necesita copiar las bibliotecas (por ejemplo, para hacer una versión distribuible de un ejecutable).

Desafortunadamente, en el resultado de depends.exe, las rutas a las bibliotecas se convierten a minúsculas y el nombre de la DLL se convierte a mayúsculas. Por ejemplo,

c: / qtsdk / desktop / qt / 4.7.4 / mingw / bin / QTCORE4.DLL

Cuando la biblioteca está ubicada en:

C: / QtSDK / Desktop / Qt / 4.7.4 / mingw / bin / QtCore4.dll

No parece haber una manera de obtener depends.exe para informar las rutas correctamente, lo cual es vergonzoso.