每线程或每任务异常设置?

时间:2017-05-07 00:52:20

标签: c# visual-studio xamarin mono xamarin-studio

我有一个C#项目。是否可以编写代码来实现"如果在执行此类任务时出现异常(并且调试器可用),请立即中断,而不需要展开调用堆栈。"

另外,我只是想说,如果这是不可能的,我可以回答这个问题。

1 个答案:

答案 0 :(得分:0)

如果您希望保留抛出异常的位置并保留调用堆栈,则只能通过记录StackTrace AFAIK来执行此操作。

public static class Logger
{
  ...

  public static string CurrentStackDefaultLog()
  {
    // the true value is used to include source file info
    var l_CurrentStack = new System.Diagnostics.StackTrace(true);
    return l_CurrentStack.ToString();
  }

  ...
}

Daniele Mazzeranghi

https://www.codeproject.com/Articles/223611/How-to-log-the-current-call-stack-in-NET中提供了实现此代码的良好链接