【发布时间】:2011-03-31 15:11:16
【问题描述】:
我有一个 IndexOutOfRangeException,我无法在调试模式下重现,根据引发异常的堆栈跟踪,它发生在“return true;”行上该行没有数组索引,甚至在程序中也没有任何数组索引,异常显然被抛出。所以我猜堆栈跟踪可能有点红鲱鱼。
有谁知道可能导致这种行为的原因?我确实有多个线程访问抛出异常的对象,但它们只是从对象中读取,没有进行任何修改。这可能仍然是个问题吗?
任何关于我应该从哪里开始解决这个问题的指针将不胜感激。
【问题讨论】:
-
需要完整的堆栈跟踪或 .ToString()
-
为什么要多线程作为标签?
-
您是否尝试过“清理”和“完全重建”。调试和发布之间的行为差异以及堆栈跟踪指示的行不是数组索引行的事实表明调试信息与您的发布版本不同步。
-
是什么让你说它是“return true”行除外?
-
Kieren - 我已经提取了完整的堆栈跟踪。 Daniel - 因为我认为它可能与线程有关。我做了一个完整的重建无济于事,我已经调查了几天。堆栈跟踪将行号报告为“return true”的行
标签: .net multithreading exception