🎉
windowsで共有ライブラリのシンボルを調べる
dumpbinコマンドをインストールする必要があります。
dumpbinはVisual Studioをインストールしないと使えないのでVisual studioをインストールします。
(Visual studio community 2019は配布されなくなりました。2019でないとダメな人は有償版を買うか、BuildToolsをインストールしましょう。)
winget install Microsoft.VisualStudio.2022.Community
こうするとdeveloper command promptを起動するかvisual studioのターミナル部分からdumpbinを実行することができるようになります。
が、Powershellやその他のツールからも実行したいですよね?
ということで環境変数PATHにdumpbinへのPATHを通します。
$Path = Get-ItemProperty HKCU:\Environment\ -Name Path
$Path.Path += ";C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x86"
# 値確認。
Write-Output $Path.Path
Set-ItemProperty HKCU:\Environment\ -Name Path -Value $Path.Path
結構不細工なコードになりますが、これが環境変数を操作する上で一番安全な操作です。
windowsには環境変数のバグがあるのでレジストリから環境変数を操作することをお勧めします。
これで下記のように実行するとシンボルを取得することができます。
dumpbin /exports C:\Windows\System32\Kernel32.dll
Discussion