2

在此处输入图像描述

我必须调试一个我没有编写的凌乱的 C# 工具,它以特定格式解析 Excel 文件(包含大量奇异数据)。

该工具的运行持续约 15 分钟并生成错误报告(通常有数千个条目)。麻烦的是,编码器在他的“错误报告”中到处都使用了异常,我需要找到一些大约 2% 的时间发生的空指针异常。我什至不是在谈论所有的捕捉、分组、重新抛出,在我的理解中,这在一致性和执行速度方面都是不好的做法。

有没有办法只打破 Visual Studio (2008) 中的空指针异常,或者至少是过滤大多数异常的技巧?在这里打破所有例外不是一个选择。

4

4 回答 4

10

在 Visual Studio 中,在 Debug -> Exceptions 下,您可以指定应该中断哪个异常。

您可以在以下位置找到 NullReferenceException:

CommonLanguage 运行时异常

  • 系统
    • System.NullReferenceException
于 2012-11-20T13:56:47.130 回答
4

我想到的最快的事情是找到所有catch (字符串并将它们替换为

catch (NullReferenceException npe)
        {
        //something your logging here
        }
        catch (

然后如果您只需要在这些捕获部分中添加断点

于 2012-11-20T13:56:48.240 回答
4

在 Visual Studio 中按CTRL++或 goto - ALT> 。在出现的对话框中,检查 NullReferenceException 的“抛出”框。您可能希望使用“查找”按钮来定位它。EDebugExceptions

在此处输入图像描述

于 2012-11-20T13:59:16.097 回答
1

在此处的“抛出”列中打勾:

Debug -> Exceptions -> Common Language Runtime Exceptions -> System -> System.NullReferenceException
于 2012-11-20T13:59:07.390 回答