Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在VisualStudio中调试循环时,如何知道哪一行出错?_C#_Asp.net_Visual Studio - Fatal编程技术网

C# 在VisualStudio中调试循环时,如何知道哪一行出错?

C# 在VisualStudio中调试循环时,如何知道哪一行出错?,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,假设我有一个循环,其中包含1000行客户从数据库中的表中检索到的数据。数据上的一些空字段导致了一个错误。在调试循环时,如何在不需要转到每个项目的情况下命中导致错误的行 编辑:空字段引起的错误只是一个示例。它可能是由其他问题引起的。我问这个问题是因为我在过去遇到了一些与循环中的数据相关的问题。到目前为止…我认为vivek的建议包括try-catch-temporary是好的。你知道导致空值的数据字段吗?如果知道,请检查空值记录的位置,如果你通过管理工作室,如下所示 从数据表中选择*,其中[Fiel

假设我有一个循环,其中包含1000行客户从数据库中的表中检索到的数据。数据上的一些空字段导致了一个错误。在调试循环时,如何在不需要转到每个项目的情况下命中导致错误的行


编辑:空字段引起的错误只是一个示例。它可能是由其他问题引起的。我问这个问题是因为我在过去遇到了一些与循环中的数据相关的问题。到目前为止…我认为vivek的建议包括try-catch-temporary是好的。

你知道导致空值的数据字段吗?如果知道,请检查空值记录的位置,如果你通过管理工作室,如下所示

从数据表中选择*,其中[Fieldname]为空


如果c循环只是用户尝试catch和Debug.print来记录记录编号。

仅用于调试目的,请将try…catch放入循环中。将断点放在catch块上。每当发生异常时,您都可以访问当前行


调试完成后,不要忘记从循环中删除try…catch。

您使用的是什么数据库技术?还包括一些相关代码。发布您正在描述的循环可能是一个好主意,我假设这是在代码中,如果您使用ADO,那么可能会使用reader迭代SqlDataReader。Read会在行上爆炸,这是一个问题。另外,请确保已将Visual Studio设置为在VS 2017中检查所有异常时中断调试->窗口->异常->公共语言运行时异常。是否可以发布一些代码?在“异常”窗口中启用“处理CLR异常”。当异常发生时,调试器将中断。谢谢…这很有意义