web-dev-qa-db-ja.com

VisualStudioの編集と続行が機能しない

ハイブリッドプロジェクトである私のプロジェクトでは(以前はWebフォームプロジェクトでしたが、mvcパターンを使用するように変更しました)。

これをデバッグモードで、csファイルの何かを変更してから、変更したコードを実行したいと思います。

ツールの有効化と無効化->オプション->デバッグ->チェックボックスの部分を編集して続行してみました。

有効にすると、デバッグ中にプロジェクトのコードを変更できません。無効にするとコードを変更できますが、実行中のパーツには影響しません。例えば。

  int i = 0;
  if(i == 1)
    return 1;
  else
    return 2;

デバッグモードでi1に変更しましたが、次のコードでは、デバッガーを停止して再実行した場合にのみ、2が返されます。

 int i = 1;
  if(i == 1)
    return 1;
  else
    return 2;

ところで、私はVisual Studio2010バージョンを使用しています。

16
brtb

これは私の問題ではありませんでした。 VS2017 RC2を実行していると、[ツール]-> [オプション]-> [デバッグ]-> [ジャストインタイム]で、[マネージコード]の選択が解除されていることがわかりました。

「別のデバッガーがジャストインタイムデバッガーとして登録されました。ジャストインタイムデバッグを有効にするか、VisualStudioの修復を実行して修正してください」という警告がありました。

他のデバッグツールを登録していませんでした!だから、なぜそれがチェックされていないのか分かりません...

したがって、修正は単に「管理対象」ボックスにチェックマークを付けることでした。

10
James Joyce

与えられた答えはどれもうまくいきませんでした。これが私がしたことです。

  • VSインストールを修復しました。 2017年版を持っていました。
  • [ネイティブコード]チェックボックスをオフにしました。

enter image description here

8
h-rai

この問題の解決策は、Microsoftのドキュメントにあります...ツール->オプション->デバッド->編集して続行を有効にした後....やるべきことがまだあります。

IntelliTraceが有効になっていて、IntelliTraceイベントと通話情報の両方を収集する場合、編集と続行は無効になります。

Visual Studioのメニューで、[ツール] >> [オプション]に移動します-[IntelliTrace]タブを選択し、IntelliTraceイベントのみチェックを入れます。保存して、VisualStudioを再起動します。

編集と続行が再び機能します!

4
Thiago Araújo

上記のどれも私にはうまくいきませんでしたが、「ネイティブ編集を有効にして続行」のチェックを外すと、機能しました:「ツール」->「オプション」->「デバッグ」->「一般」。

enter image description here

4
voxoid
  1. [ツール]-> [オプション]-> [デバッグ]-> [一般]で、[編集を有効にして続行]チェックボックスをオンにします。
  2. [ツール]-> [オプション]-> [デバッグ]-> [ジャストインタイム]で、[マネージコード]のチェックボックスをオンにします マネージコードの画像チェック
  3. VisualStudioを保存して再起動します。昇格されたアクセス許可に関する警告が表示された場合は、ダイアログを受け入れます。変更はまだ保存されていません。再起動後、[ツール]-> [オプション]-> [デバッグ]-> [ジャストインタイム]に再度移動します。チェックが表示されていない場合は、[マネージコード]のチェックボックスをオンにします。 VisualStudioを保存して再起動します。
2
Ashok Garg

VSインストールを修復し、現在の最新のVS2017バージョンにアップグレードする:15.9.19で問題が修正されました。

h-raiの答えから、必要な手がかりが得られました。[ネイティブ]チェックボックスをオフにすると、別のJITデバッガーが登録されたことを示す警告が表示されました。

それから、私はこの記事でより多くの手がかりを見つけました ここ

おそらく、私の問題は、新しい.NET Core 3.1をインストールしたが、VS2017をVS2019にまだアップグレードしていないことが原因でした。

これで、[ネイティブ]チェックボックスをオフにしても、別のJITデバッガーに関する警告が表示されず、もう一度デバッグ中にコードを変更できます。

0
Matthew Beck