Qual é o equivalente do Linux ldd
no Windows?
Respostas:
Aqui está o Dependency Walker.
O dumpbin
comando pode ser útil para muitas coisas, embora neste caso o dependency walker seja provavelmente um pouco mais prolixo.
dumpbin /dependents some.dll
Saída de exemplo:
C: \ Arquivos de programas (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Team Tools \ Static Analysis Tools> dumpbin / dependents StanPolicy.dll
Despejo do arquivo StanPolicy.dll
Tipo de arquivo: DLL
A imagem tem as seguintes dependências:
mscoree.dll
Resumo
2000 .reloc 2000 .rsrc 1E000 .text
ou a ferramenta GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
ldd
faz.
PowerShell pode fazer isso
PS> Start-Process -PassThru calc.exe | Get-Process -Module Tamanho (K) Nome do Módulo ------- ---------- 908 calc.exe 1700 ntdll.dll 1148 kernel32.dll 432 KERNELBASE.dll 13856 SHELL32.dll ...
Se você estiver usando wine
o Windows e não o real, pode usar WINEDEBUG=+loaddll wine <program>
.
GdiplusStartup
, e GDI + funcionou sem problemas no Wine, enquanto no Windows não funcionou. Só percebi esse erro depois de ter depurado o programa no Wine, tentando em seguida executá-lo no Windows.
Agora existe um ldd
no Cygwin. Se você tiver uma versão muito antiga do Cygwin, terá que usar cygcheck
.
Acho que a maneira do Windows Developer de fazer isso é usando dumpbin /dependents source.exe
. Se você tiver Visual Studio instalado, você pode encontrá-lo aqui: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe
.
Versões mais recentes do Git no Windows vêm com algo chamado Git BASH , que emula muitos comandos Unix úteis, incluindo ldd.
Parece que ele relata apenas as bibliotecas que podem ser encontradas. Portanto, você pode usar isso para obter uma visão geral de onde as bibliotecas usadas estão localizadas, mas não quais estão ausentes.
Para o Windows 10, você pode usar Dependências - um moderno Dependency Walker de código aberto
Para o Windows 10, com o Visual Studio 2017, vou na barra de pesquisa do Windows e digito:
"Prompt de comando do desenvolvedor para VS 2017" (um cmd.exe especial para desenvolvedor Visual Studio)
Isso permite obter acesso ao DUMPBIN que deve ser usado com a tag \ IMPORTS. Por exemplo, no diretório correto:
DUMPBIN \ IMPORTS yourfile.exe (outras extensões também podem funcionar)
Para mim, esta lista a DLL e as funções utilizadas.
Alternativamente, você pode usar a tag \ ALL que é muito mais detalhada.
veja a explicação da microsoft de DUMPBIN:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Exemplo (com apenas uma parte) do conteúdo enviado de volta pelo comando