57

突然、VisualStudioでデバッグしてもコードにステップインできないという問題が発生しました。F11ステップオーバーは正常に機能しますが、私のコードのいずれかに()ステップインすることを拒否します。これは以前は機能していましたが、今では突然機能しなくなりました。

以下のいくつかのことを試しましたが、それでも成功しませんでした。

  • 私のソリューション、クリーンなソリューション、再構築ソリューションのすべてのプロジェクトのすべてのbinファイルを削除します。

  • ソリューションで個別にプロジェクトを構築する

  • マシンを再起動します

これは、ローカルでWCFサービスを消費するASP.NET C#アプリケーションです。デバッグモードです。サービスを使用しているページにブレークポイントを設定しています。ブレークポイントはヒットしますが、サービスコードにはステップインしません。

ASP.NETサイトとサービスコードはすべて同じソリューションに含まれています。これは突然機能しません、以前は機能しました。

この問題を解決するにはどうすればよいですか?

サービスプロジェクトにブレークポイントを追加すると、警告が表示されます。

ブレークポイントは現在ヒットしません。このドキュメントにはシンボルがロードされていません。

すべてのプロジェクトのすべてのbinフォルダーを削除し、それらを1つずつ再構築しました。それらはすべて成功しましたが、それでも、ブレークポイントが機能するASP.NETプロジェクト以外のソリューションのプロジェクトに配置したブレークポイントにシンボルが読み込まれません。以前はすべてのプロジェクトへのステップをデバッグすることができましたが、これは突然のことです。

出力ウィンドウからの情報。

'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\SMDiagnostics\v4.0_4.0.0.0__b77a5c561934e089\SMDiagnostics.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.DurableInstancing\v4.0_4.0.0.0__31bf3856ad364e35\System.Runtime.DurableInstancing.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xaml.Hosting\v4.0_4.0.0.0__31bf3856ad364e35\System.Xaml.Hosting.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\2d49cf50\14eee2cf\App_Web_jmow15fw.dll', Symbols loaded.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.WorkflowServices\v4.0_4.0.0.0__31bf3856ad364e35\System.WorkflowServices.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Discovery\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Discovery.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Routing\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Routing.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Channels\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Channels.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): Loaded 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
4

19 に答える 19

53

Visual Studio を閉じた状態:

  • ソリューションの suo ファイルを削除します (デバッグ情報、ブレーク ポイントなどのユーザー設定、ブックマーク、およびその他のユーザー設定が含まれます)。
  • Visual Studio キャッシュ ファイルを削除します (以下を参照)。
  • すべての一時ファイルを削除します (VS9 から VS10 への移行は、VS10 が一時フォルダーを使用することです)。
  • Windows エクスプローラーを使用して、すべての obj および bin フォルダーを手動で削除します。

Visual Studio を開き、すべてを再構築します。これは常に機能します。C# VS2010 Entering break mode failedを参照してください。

参考のため:

Private Sub ClearVS9
    ClearFolder(oShell.ExpandEnvironmentStrings("%APPDATA%") & "\Microsoft\VisualStudio\9.0\ProjectAssemblies")
    ClearFolder(oShell.ExpandEnvironmentStrings("%APPDATA%") & "\Microsoft\VisualStudio\9.0\Recent")
    ClearFolder(oShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Local Settings\Application Data\ApplicationHistory")
    ClearFolder(oShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Local Settings\Application Data\Microsoft\VisualStudio\9.0\ProjectAssemblies")
    ClearFolder(oShell.ExpandEnvironmentStrings("%WINDIR%") & "\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files")
End Sub

Private Sub ClearVS10
    ClearFolder(oShell.ExpandEnvironmentStrings("%APPDATA%") & "\Local\Microsoft\WebsiteCache")
    ClearFolder(oShell.ExpandEnvironmentStrings("%APPDATA%") & "\Local\Microsoft\VisualStudio\10.0\ProjectAssemblies")
End Sub

JMarsch によって言及されたリンクThe Evil suo file - Fighting and win with Visual Studio を参照してください。

于 2012-06-06T05:37:32.153 に答える
35

私の場合、. を返すメソッドに足を踏み入れていましたIEnumerable。この状況では、 F11 は、反復されるまでメソッドのIEnumerable実行が延期されるため、反復されるまでメソッドをスキップする場合があります。

于 2016-05-12T17:39:34.830 に答える
2

これを試して:

  1. 場所から一時ASP.NETファイルを削除し%temp%ます。
  2. ソリューション内のプロジェクトを1つずつクリーンアップしてビルドしてから、ホストをビルドしてデバッグを試してください。

それは私のために働いた。

于 2012-05-29T15:16:44.343 に答える
2

あなたのF11キーは別のものにリバウンドする可能性があります。Visual Studio のステップ イン ボタンをクリックすると機能する場合があります。

于 2012-06-08T11:44:18.047 に答える
1
  1. WCFプロジェクトもWebアプリケーションですか?ASP.NETデバッグが有効になっていますか?(WCFプロジェクトを右クリックし、[プロパティ] 、[ Web ]の順に移動します)

  2. 参照がめちゃくちゃになったときにプロジェクトにもこれが発生しました。Webアプリケーションからの参照が、ソリューション内のものと同じプロジェクトのコピーであることを確認してください。

  3. 構成マネージャーを確認し(ソリューションエクスプローラーで、[ソリューション] 、[構成マネージャー]の順に右クリック)、両方のプロジェクトがビルドされていることを確認します。

  4. ファイルが破損すること.suoがあり、あらゆる種類の奇妙な動作が発生する可能性があります。削除してみることができます(妄想的な場合はバックアップコピーを作成してください。邪悪なsuoファイル-Visual Studioでの戦いと勝利を参照してください)。

于 2012-06-01T14:21:20.160 に答える
1

ツールバーを使用することはできるが機能してF11いない場合は、おそらく Visual Studio に問題はありませんが、キーストロークに対してより優先度の高いコンシューマーがあり、Visual Studio に到達しません。

別のアプリケーションやゲームなど、別のプログラムでキーを使用することで確認できます。そこでも機能しない場合は、それが当てはまります。

VS の方が高速で安全なので、VS をいじる前に試してみることをお勧めします。問題がまだそこにあることに気付くためだけに、スタジオ全体を再インストールすることになる場合があります。

F11私は同じ問題を抱えていました。私の場合、優先度の高い消費者は、FPSインジケーターの切り替えとして設定したNvidia geforceエクスペリエンスでした。このプログラムのゲーム内オーバーレイをオフにすると (常にアクティブであり、キーストロークで fps、記録、スナップショットの取得、ブロードキャストなどを表示する準備ができています) F11、PC の再起動後に魅力的に機能しました。

キーストロークを消費する可能性のある、同じまたは同様の役割の他の常時オンのアプリケーションがあると思います。

于 2019-06-18T20:52:16.533 に答える
0

出力パスをカスタマイズした場合は、すべての出力パスが同じ出力ディレクトリを指していることを確認してください

于 2015-12-04T09:57:00.493 に答える
0

私の場合、VS2008 では、[プロジェクトのプロパティ] | [デバッグ] の下にある [アンマネージ コードのデバッグを有効にする] オプションをチェックするとうまくいきました。プロジェクトのすべてのコードがvb.netにあるため、これが機能した理由はわかりません。

それ以降のバージョンでは、このオプションの名前が「ネイティブ コードのデバッグを有効にする」に変更されました。

于 2016-12-27T06:01:47.910 に答える
0

私が読んで理解したことに基づいて、次のファイルを探す必要があります。

bin ディレクトリにあるプロジェクトの Assembly Name.pdb。表示されない場合は、ビルドされていません。デバッグ情報を完全に設定することに関する私のコメントと、オプション/デバッグ/シンボルを参照してください。

プロジェクトのビルド出力を詳細または詳細に設定します ([ツール]、[オプション]、[プロジェクトとソリューション]、[ビルドと実行]、[MSBuild プロジェクトのビルド出力の詳細])。

このファイル (つまり、AssemblyName.pdb) を使用して特定のタスクを探し、削除、コピーなどを行い、(dll/exe) から参照している pdb ファイルを削除 (しようとしている) かどうかを確認します。それを置く、それをコピーするなど。

ビルドされていない場合は、削除タスクのみが表示されます。そうである場合は、コピー タスクと参照タスクが表示されます。これらのコピー パスと参照パスは、そのアセンブリのモジュール コンソール (AssemblyName.exe) を参照してシンボル ファイルを取得する必要がある場所 (つまり、pdb ファイルがコピーされた場所) を示します。

于 2012-06-05T16:52:56.247 に答える
0

私もこの問題を抱えていました。私が踏み込むことを期待していたメソッドが Moq されていたことがわかりました (私はテストをデバッグしていました)。この Moq が戻ってきました。

于 2020-04-18T03:28:25.940 に答える
0

VS2022 プレビューでこの問題が発生し、.suo ファイルを削除すると修正されました。

ファイルエクスプローラーを使用してファイルを検索する必要がありました。また、ファイルは非表示の .vs フォルダーに含まれています。

于 2022-02-08T15:36:50.993 に答える
0

私の場合、Visual Studio から Web アプリを実行していました。しようとしていたアセンブリは、通常のファイル システム内の場所から参照されていましたが、実行時に GAC から読み込まれていました。私は常に、.NET が最初にローカル ビンからロードしてから GAC からロードしようとしたと思っていましたが、そうではないと思います。とにかく、GAC でバージョンの .pdb デバッグ シンボルを見つけることができなかったので、介入できませんでした。GAC でアセンブリを更新し、.pdb ファイルを提供すると、機能しました。

于 2014-05-12T18:34:25.567 に答える