スキップしてメイン コンテンツへ

 none
windbgでchecksum値が「00000000」となる原因は? RRS feed

  • 質問

  • windows7(32bit)端末の完全メモリダンプをwindbg.exeで読み込み、checksum値を表示すると「00000000」と表示される場合があります。
    これは該当のモジュールでチェックサムを算出できない場合かと思われますが、算出できない場合の考えられる原因は何でしょうか。
    ----------------------------------------------------------------------------------------------------
    kd> !for_each_module .echo @#Checksum @#ModuleName @#ImageName
    00000000 xxxxxxx1 C:\Program Files\test\xxxxxxx1.dll ←checksum値が「00000000」
    000160f3 xxxxxxx2 C:\Program Files\test\xxxxxxx2.dll

    ----------------------------------------------------------------------------------------------------

    上記のchecksum値が「00000000」のdllで、「Browse all global symbols」を表示すると以下のエラーが表示されます。
    ----------------------------------------------------------------------------------------------------
    kd> x /D xxxxxxx1!a*
     *** WARNING: Unable to verify checksum for xxxxxxx1.dll
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for xxxxxxx1.dll - 
    ----------------------------------------------------------------------------------------------------


    2016年7月27日 3:36

回答

  • http://stackoverflow.com/questions/25629962/unable-to-verify-checksum-for-exe
    ここによると、LINK時に/Releaseフラグをつけないと、PEヘッダにチェックサムがつかない(0となる)という意味のことが書いてあります。

    jzkey

    • 回答の候補に設定 星 睦美 2016年7月27日 6:18
    • 回答としてマーク dory10484 2016年7月27日 10:51
    2016年7月27日 3:50

すべての返信

  • http://stackoverflow.com/questions/25629962/unable-to-verify-checksum-for-exe
    ここによると、LINK時に/Releaseフラグをつけないと、PEヘッダにチェックサムがつかない(0となる)という意味のことが書いてあります。

    jzkey

    • 回答の候補に設定 星 睦美 2016年7月27日 6:18
    • 回答としてマーク dory10484 2016年7月27日 10:51
    2016年7月27日 3:50
  • 早速のご回答、ありがとうございます。

    記載いただいたサイトを拝見させていただきました。
    LINK時に/ReleaseフラグをつけないとCheksum値が0になるようですね。

    質問時に記載していませんでしたが、checksum値が「00000000」と表示されたライブラリはVC++.Netで作成しています。
    上記サイトにはclコマンドでコンパイルした場合と記載されているため、.Netで作成したライブラリも同様に/Releaseフラグを付与しないとChecksum値が0になると思っていますが、その認識でよいかわかるでしょうか?


    2016年7月27日 5:45
  • 本件、解決しました。

    ご回答いただき、ありがとうございました。

    2016年7月27日 10:51