1

コードで例外をデバッグしていますが、例外が発生するとデバッガが中断するように設定されています。

デバッグ セッションで、コードの特定の部分で例外ブレークを実行したいのですが、別の部分ではなく、例外ブレークを実行したいと考えています。コードに引数 (またはその他の) を記述して、デバッガに例外ブレークしないように指示できることを知っていますか?コードのこの部分で?

私がデバッグする例外は、同じタイプの API 例外であり、タイプでフィルタリングすることはできません。

どうも

ps:「デバッグ/例外」は知っていますが、特定の種類の例外をフィルター処理したくないため、コードの一部でのみフィルター処理する必要があるため、これは私の場合は役に立ちません。

例:

#region don't want to break at exception
Try
{
  //I don't want the debugger to break here
  ApiMethodThatThrowException();
}
Catch(Exception){}
#endregion
#region want to break at exception
Try
{
  //I want the debugger to break here
  ApiMethodThatThrowException();
}
Catch(Exception){}
#endregion
4

3 に答える 3

3

@abelenky の回答に加えてExceptions、Visual Studio で無効にできないものがあることに注意してください ( C++ ExceptionsGPU Memory Access Exceptionsなど)。次に、属性を使用してデバッガーでSystem.Diagnosticsこれらをバイパスする方法を検討する必要があります。Exceptions

DebuggerHiddenAttributeDebuggerStepThroughAttributeは、デバッガーにコードの特定のセクションをスキップするように指示するために使用できる 2 つの属性です。

public string ConnectionString{
    [DebuggerStepThroughAttribute()]
    get { 
        // Implementation here; 
    }
}

上記の例: 属性を使用して品質を向上させる..

[DebuggerHiddenAttribute]
static void Main(string[] args) {
    // Implementation here;
}
于 2013-10-01T17:52:58.560 に答える