Visual Studio 2022 - 開発者コマンドプロンプト


クラウディア 


1. 概要
2. 状況
3. エントリポイントを探す

1. 概要

 おそらくは、以前のバージョンの「Visual Studio」にも存在した機能なのでしょうが、「Visual Studio 2022」ではじめて使うことになりました。  本ページは、下記のサイトを参考にさせていただきました。
DLLファイルに含まれる関数の調べ方

2. 状況

 あるメーカから、提供された「.dll」があるのです。  その「.dll」内の関数をいくつか使うのですが、ある関数の呼び出し時に。

 てなことになったのです。
 「.dll」「エントリポイントが見つかりません」をキーに検索して、たどりついたのが参考サイトです。

3. エントリポイントを探す

 「スタート」から「Visual Studio 2022」を探して、展開。  「Developer Command Prompt for VS 2022」

 下記のような、コマンドプロンプトが開きます。



dumpbin /exports
 と入力して、末尾に半角スペースを入力したうえで、解析したい、「.dll」をドラッグ&ドロップします。  すると、およそ、下記のように表示が主力されます。

Microsoft (R) COFF/PE Dumper Version 14.41.34120.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file D:\パス\ファイル名.dll

File Type: DLL

  Section contains the following exports for ファイル名.dll

    00000000 characteristics
           0 time date stamp
        0.00 version
           1 ordinal base
          34 number of functions
          34 number of names

    ordinal hint RVA      name

         26    0 000CCD1C CancelCard
         33    1 000C6ED0 ClosePort
          7    2 000C7550 GetCardInfo

・・・	略	・・・

         23   1F 000C6E54 pbOpenPort
         24   20 000CA418 pbReadCard
         17   21 000C5BB0 setserver

  Summary

        1000 .edata
        3000 .idata
       12000 .reloc
       12000 .rsrc
        2000 BSS
       CF000 CODE
        6000 DATA
 「ordinal hint RVA name」の行の「name」の下に表示される名称が、エントリポイントとなる名称の候補になります。  わたしがやったものでは、マニュアルに書いてあるものと、実際のエントリポイントは、最初の文字の大文字・小文字が異なっていたのでした。  マニュアルに「typo」は、いかんよね。

audiobook.jp
AbemaTV 無料体験