デバッグ情報を含めないドライバビルド
ドライバはなぜか Free Build 環境でビルドしてもデバッグ情報(リンカオプション /debug)が含まれる。そのためバイナリには pdb ファイルまでのフルパスが含まれることになるのだが、フルパスが残るのは個人的にあまり気分が良くない*1。
そこで、Free Build 時にこれを含めないようにするには C:\WinDDK\
2586行目ぐらいが次のようになっているはずなので
! ifdef USE_INCREMENTAL_LINKING LINKER_DBG_SECTION=/debug /debugtype:cv,pdata ! else LINKER_DBG_SECTION=/debug /debugtype:cv,fixup,pdata ! endif
これを DDKBUILDENV 変数の値で分岐させる。
! ifdef USE_INCREMENTAL_LINKING LINKER_DBG_SECTION=/debug /debugtype:cv,pdata ! else ! if ("$(DDKBUILDENV)" == "chk") LINKER_DBG_SECTION=/debug /debugtype:cv,fixup,pdata ! endif ! endif
これで Free Build するとpdbへのフルパスが埋め込まれなくなる。
*1:そもそも私のプロジェクトはソースがついてるのでビルドできるし。