実行ファイルがインクリメンタルリンクされたりされなかった場合はどうすれば知ることができますか?
-
11-09-2019 - |
質問
私はVC ++ 2003(7.1)で構築された私たちの実行ファイルのいずれかで、メモリ破損を分析するためにPurify 6を使用しようとしている。
ときI楽器のコマンドでバイナリます:
purify /Replace=yes /Run=no myprog.exe
計装は、実行ファイルがインクリメンタルリンクされていた私に言って中止します。困惑、私は、ビルドオプションをチェックするが、そこ/INCREMENTAL:NO
ました。確かに、私はそれを再構築し、オプションが正しくリンク時に渡された。
実行ファイルがインクリメンタルリンクされたかどうかを知る方法はありますか?
私が言っていることdumpbin /HEADERS
を見ていたが、関連する何も表示されませんでした。
感謝します。
解決
オプション1:
C:...> DUMPBIN /要約whatever.exe
".textbss" セクションを探します。
私は、これは100%の信頼性がわからないんだけど、インクリメンタルリンクを行うときに私の経験では、リンカは、常にこのセクションを追加します。
オプション2:
実行ファイルの隣に「.ILK」ファイルを探してください。 Visual Studioは、それを削除する必要があります。
(でも「再構築」ではない)、彼らがそのようにインクリメンタルリンクと建物を無効にし、使用していないときに、これらをクリーンアップについての良いように思わオプション3:
ログインビルド(ツール/オプション/プロジェクト)を有効にし、 "/ INCREMENTAL" または "/ INCREMENTAL:NO" を探してください。それが生成buildlog.htmlファイルの
オプション4:
.vcprojファイルを解析します。 (ICK!)
所属していません StackOverflow