.NET
Visual Studio 2017でデバッグしている場合、デバッガコンテキストによってコードが呼び出されているかどうか、つまりブレークポイントで停止したときにコードを検出する方法はありますか。VSデバッガがブレークポイントで停止していることを検出していますか?
私は、これはfunc-evalコンテキスト(here以上)として知られていると信じて、あなたはブレークポイントを停止し、デバッガが自動的におけるプロパティ値に(有効な場合)ToString()
結果を表示するために、あなたのコードを呼び出したときにそれが起こります地方、自動車、、などのウィンドウを表示し、停止中に入力した任意の機能を評価することもできます。
私はDebugger.IsAttachedを認識していますが、これは同じではありません。デバッガがコール時に停止または実行されているかどうかにかかわらず、プロセスがデバッグ中かどうかを示します。この質問はより具体的なケースを求めています:Debugger.IsAttached
はtrue
でなければなりませんが、それはデバッガのfunc-evalコンテキストにいるかどうかを示すものではないため、十分ではありません。
これはちょうど単純なグローバルbool
の値であるはずなので、解決策にはCOM
コール(つまりICorDebugAppDomain)が含まれないことが期待されます。それはFUNC-EVALによって呼び出されていた場合
私がよく知っているのは、条件付きブレークポイントを使用してVSデバッガがブレークポイントで停止しているかどうかを確認することです。https://blogs.msdn.microsoft.com/devops/2014/ 10/06/new-breakpoint-configuration-in-visual-studio-2015/ –