ハイブリッドプロジェクトである私のプロジェクトでは(以前はWebフォームプロジェクトでしたが、mvcパターンを使用するように変更しました)。
これをデバッグモードで、csファイルの何かを変更してから、変更したコードを実行したいと思います。
ツールの有効化と無効化->オプション->デバッグ->チェックボックスの部分を編集して続行してみました。
有効にすると、デバッグ中にプロジェクトのコードを変更できません。無効にするとコードを変更できますが、実行中のパーツには影響しません。例えば。
int i = 0;
if(i == 1)
return 1;
else
return 2;
デバッグモードでi
を1
に変更しましたが、次のコードでは、デバッガーを停止して再実行した場合にのみ、2
が返されます。
int i = 1;
if(i == 1)
return 1;
else
return 2;
ところで、私はVisual Studio2010バージョンを使用しています。
これは私の問題ではありませんでした。 VS2017 RC2を実行していると、[ツール]-> [オプション]-> [デバッグ]-> [ジャストインタイム]で、[マネージコード]の選択が解除されていることがわかりました。
「別のデバッガーがジャストインタイムデバッガーとして登録されました。ジャストインタイムデバッグを有効にするか、VisualStudioの修復を実行して修正してください」という警告がありました。
他のデバッグツールを登録していませんでした!だから、なぜそれがチェックされていないのか分かりません...
したがって、修正は単に「管理対象」ボックスにチェックマークを付けることでした。
この問題の解決策は、Microsoftのドキュメントにあります...ツール->オプション->デバッド->編集して続行を有効にした後....やるべきことがまだあります。
IntelliTraceが有効になっていて、IntelliTraceイベントと通話情報の両方を収集する場合、編集と続行は無効になります。
Visual Studioのメニューで、[ツール] >> [オプション]に移動します-[IntelliTrace]タブを選択し、IntelliTraceイベントのみチェックを入れます。保存して、VisualStudioを再起動します。
編集と続行が再び機能します!
VSインストールを修復し、現在の最新のVS2017バージョンにアップグレードする:15.9.19で問題が修正されました。
h-raiの答えから、必要な手がかりが得られました。[ネイティブ]チェックボックスをオフにすると、別のJITデバッガーが登録されたことを示す警告が表示されました。
それから、私はこの記事でより多くの手がかりを見つけました ここ
おそらく、私の問題は、新しい.NET Core 3.1をインストールしたが、VS2017をVS2019にまだアップグレードしていないことが原因でした。
これで、[ネイティブ]チェックボックスをオフにしても、別のJITデバッガーに関する警告が表示されず、もう一度デバッグ中にコードを変更できます。