1

VS2008 で新しい win32 C++ プロジェクトを作成すると、エディット コンティニュを問題なく使用できますが、このレガシー プロジェクトでは、使用/有効化の試みが失敗しました。

ここに私がチェックしたものがあります:

ツール -> オプション -> デバッグ -> エディット コンティニュ -> エディット コンティニュを有効にするがオンになっています。

デバッグ情報フォ​​ーマット:プログラムデータベース(/Zi)

コード生成 -> 関数レベルのリンクを有効にする: はい (/Gy)

破損した .ILK ファイルを探しました。.ILK ファイルが見つかりません。2008 年でも使用されていますか?

しかし、プログラムにステップ インし、次の行を変更して、もう一度ステップを実行すると、次のようになります。

「このソース ファイルは変更されました。一致しなくなりました...」

それよりも

「エディット コンティニュでコードの変更を適用しますか?」

E&C が機能しないこのプロジェクトの何が問題なのですか?

4

2 に答える 2

0

デバッグ用のシンボル/etc があり、レガシー C++ アプリケーションがこのサポート付きでコンパイルされていると仮定します...

そうでない場合は、代替コードの挿入を可能にするためにコードが「インストルメント化」されていないという問題に遭遇します。

出力コード形式の変更により、VC++ 2008 との互換性がなくなると思われます... Microsoft がそのような後方互換性を追加したとは思えないため (VS 2008 までは、特定のVS)

于 2009-07-16T18:37:17.567 に答える
0

このメッセージボックス

このソース ファイルは変更されました。デバッグ中のアプリケーションのビルドに使用されたファイルのバージョンと一致しなくなりました。

ブレークポイントがある正確な行でコードを変更した場合にのみ表示されるようです。

ボタンをクリックするだけでよいことがわかりましたOK。次に F10 を押して、変更された行を実際に実行すると、「エディット コンティニュ」が開始され、コードが再コンパイルされます。

その後、ブレークポイントは無効になります (感嘆符付きの黄色の三角形が表示されます)。

無効化されたブレークポイント

再度有効にするには、ブレークポイントを右クリックして [場所...] を選択します。

ブレークポイントを右クリック

次のダイアログが表示されます。

ブレークポイントの場所ダイアログ:

「ソースコードが元のバージョンと異なることを許可する」チェックボックスをオンにする必要がある場所。クリックOKすると、ブレークポイントが再び有効になります。

于 2011-04-17T19:00:01.170 に答える