何となく、ドライバ類からデバッグ用シンボル情報を削除する話をまとめます。
まず、rebaseする方法。Windows 2000 DDKぐらいまではこれ。Free Buildでも入るのでこうしたKBがあります。
[NT DDK] デバイス ドライバからシンボルを削除する方法
Server 2003 SP1 DDKはmakefile.newの修正が必要です。
LINKER_FLAGSにLINKER_DBG_SECTIONを追加している部分をFree Buildの場合に除外します。
WDKもmakefile.new修正ですが少し変わりました。6001.18002と7600.16385.1で共通です。
ただし2003 DDK以降は派手には残らず、pdbファイルへのフルパスが残る程度のものとなっています。ちょうどVisual C++でデフォルト設定のままReleaseビルドした状態に相当ですので、気にしない人には問題ありません。
まず、rebaseする方法。Windows 2000 DDKぐらいまではこれ。Free Buildでも入るのでこうしたKBがあります。
[NT DDK] デバイス ドライバからシンボルを削除する方法
Server 2003 SP1 DDKはmakefile.newの修正が必要です。
LINKER_FLAGSにLINKER_DBG_SECTIONを追加している部分をFree Buildの場合に除外します。
LINKER_FLAGS = $(LINKER_FLAGS) $(LINKER_DBG_SECTION) -debugtype:cv $(LINK_OS_VERSIONS)これを
!if $(FREEBUILD)こう。
LINKER_FLAGS = $(LINKER_FLAGS) $(LINK_OS_VERSIONS)
!else
LINKER_FLAGS = $(LINKER_FLAGS) $(LINKER_DBG_SECTION) -debugtype:cv $(LINK_OS_VERSIONS)
!endif
WDKもmakefile.new修正ですが少し変わりました。6001.18002と7600.16385.1で共通です。
LINKER_FLAGS = $(LINKER_FLAGS) $(LINKER_DBG_SECTION) $(LINK_OS_VERSIONS)これを
!if $(FREEBUILD)こんな感じに。
LINKER_FLAGS = $(LINKER_FLAGS) $(LINK_OS_VERSIONS)
!else
LINKER_FLAGS = $(LINKER_FLAGS) $(LINKER_DBG_SECTION) $(LINK_OS_VERSIONS)
!endif
ただし2003 DDK以降は派手には残らず、pdbファイルへのフルパスが残る程度のものとなっています。ちょうどVisual C++でデフォルト設定のままReleaseビルドした状態に相当ですので、気にしない人には問題ありません。
コメントする