什么时候断点可以改变您的代码执行方式?

Rob*_* P. 1 .net debugging breakpoints

我今天遇到了一个非常奇怪的错误.我在表单上有一个按钮,单击它会导致我的表单上的网格填充数据.如果单击该按钮两次,则会在"对象引用未设置为对象实例"的情况下崩溃.

我最终在Sub的开头放置一个断点来处理该网格的数量,我发现......它不再崩溃了.我点击按钮,在Visual Studio中按"F5",它不会崩溃.我做了这个,至少10次,它是固定的.

然后,我删除了断点,F5'ed,单击按钮,它崩溃了.重新添加断点,允许它工作.

有人能解释一下这里发生了什么吗?我正在使用的网格是第三方控件(Infragistics),该应用程序是一个WinForms应用程序.我没有做任何线程 - 我唯一的想法是它是某种'竞争条件'?但即使这样对我来说也没有意义.

编辑:这是一个VB.Net应用程序/ Visual Studio 2008

Coo*_*une 5

这里可能会有一些异步数据加载.添加断点使异步部分有时间完成.当你点击它太快时,它仍然在等待数据完成加载或其他什么,因此错误.您可能没有实现此功能,但第三方控件可能具有此功能.