Debugging .NET/Winforms:需要一个用于显示异常的漂亮UI示例吗

Debugging .NET/Winforms:需要一个用于显示异常的漂亮UI示例吗,debugging,exception,user-interface,Debugging,Exception,User Interface,我正在编写一个小的开发工具,它将(除其他外)显示工具当前正在检查的代码中抛出的异常。由于它是一个开发工具,我希望尽可能多地显示有关异常的信息(至少是类型、消息、堆栈跟踪和递归的InnerException),并以易于理解和分析的方式进行 不幸的是,我想不出一个好的用户界面。有什么好的例子吗?如果有帮助,我可以访问DevExpress组件。无论您做什么,请确保开发人员可以复制和粘贴所有相关信息 无论您做什么,请确保开发人员可以复制和粘贴所有相关信息 Visual Studio one做得不错!我似

我正在编写一个小的开发工具,它将(除其他外)显示工具当前正在检查的代码中抛出的异常。由于它是一个开发工具,我希望尽可能多地显示有关异常的信息(至少是类型、消息、堆栈跟踪和递归的
InnerException
),并以易于理解和分析的方式进行


不幸的是,我想不出一个好的用户界面。有什么好的例子吗?如果有帮助,我可以访问DevExpress组件。

无论您做什么,请确保开发人员可以复制和粘贴所有相关信息

无论您做什么,请确保开发人员可以复制和粘贴所有相关信息

Visual Studio one做得不错!我似乎无法从这台电脑上传图像,但如果你没有看到它,会有一个提示


所有显示在动态表/树状结构中的内容,您可以深入到内部异常等,所有内容都是可复制的,并且某些内容(例如堆栈跟踪)有可扩展的查看器。不是很漂亮,但是很实用。

Visual Studio one做得不错!我似乎无法从这台电脑上传图像,但如果你没有看到它,会有一个提示


所有显示在动态表/树状结构中的内容,您可以深入到内部异常等,所有内容都是可复制的,并且某些内容(例如堆栈跟踪)有可扩展的查看器。不漂亮,但功能强大。

从VS显示屏开始,我会寻找:

  • 省略
    null
    值(例如HelpLink==null或InnerException==null)
  • 不要嵌套
    InnerException
    ,它基本上是一个堆栈,所以可以这样表示它
  • 在StackTrace中,您可以使文件名可单击(或者至少易于选择和复制)
  • 在StackTrace中,强调实际的类和函数名,使其从完整的命名空间和签名混乱中突出
  • 可以进行更多的数据缩减,例如两次显示异常类型,但这需要小心处理,不要吞咽信息

你可以考虑HTML视图,或者通过点击点击来实现交互,或者使用JavaScript。p> 从VS显示开始,我会寻找:

  • 省略
    null
    值(例如HelpLink==null或InnerException==null)
  • 不要嵌套
    InnerException
    ,它基本上是一个堆栈,所以可以这样表示它
  • 在StackTrace中,您可以使文件名可单击(或者至少易于选择和复制)
  • 在StackTrace中,强调实际的类和函数名,使其从完整的命名空间和签名混乱中突出
  • 可以进行更多的数据缩减,例如两次显示异常类型,但这需要小心处理,不要吞咽信息

你可以考虑HTML视图,或者通过点击点击来实现交互,或者使用JavaScript。p>

被认为是主观的?
如果有什么安慰的话,我也得到了一个!;)@本约尔:那会影响整个“用户界面”标签。
被认为是主观的吗?
如果有什么安慰的话,我也得到了一个!;)@Benjol:这会影响整个“用户界面”标记。因为它是一个.NET/Winforms应用程序,所以我非常熟悉解决这个问题的VS方法。虽然我相信会更好,所以我提出了这个问题。但是,如果没有更好的东西,我会考虑这个(或者稍加改动)。因为它是.NET/WiFrm应用程序,所以我很熟悉VS方法来解决这个问题。虽然我相信会更好,所以我提出了这个问题。不过,我会考虑这(或一些轻微的改变),如果没有更好的出现。Hmm.…您回应了我对HTML视图的想法。我想我会试试的。突出显示部分会很棘手,因为我必须解析字符串。我被说服了。HTML视图更适合此任务。我想我自己也能想出一个不错的主意。嗯。。。您回应了我对HTML视图的想法。我想我会试试的。突出显示部分会很棘手,因为我必须解析字符串。我被说服了。HTML视图更适合此任务。我想我自己也能想出一个像样的观点。