実行ファイルがインクリメンタルリンクされたりされなかった場合はどうすれば知ることができますか?

StackOverflow https://stackoverflow.com/questions/1093258

質問

私は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!)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top