0

当我尝试在一个非常特定的测试配置中观察一个变量时,我看到一个问题,Visual Studio 冻结了 30 多秒,这让我很抓狂。调试主应用程序或非 hmi 单元测试时未出现此问题

我们使用 Visual Studio 2010、Gallio 3.2 和 White 0.2(使用 Icarus Test Runner 或 Resharper)运行自动化 HMI 测试,有时我们喜欢调试它们 :-) 目标平台是 .Net 4.0 和 x86,我是在 Windows 7 x64 上开发。这种设置引起了我们克服的各种问题。

在我疯狂的挣扎以解决我尝试过的问题:

  • 使用 CorFlags 强制所有 Gallio 应用程序作为 32 位应用程序运行——(修复了单元测试问题)
  • 禁用 Resharper - 没有结果
  • 禁用异常助手——无结果
  • 禁用属性评估 -- 无结果
  • 创建本地符号缓存——无结果
  • 在 IsolatedProcess/IsolatedAppdomain/Local 之间更改应用程序的隔离级别 - 无法作为独立进程运行,否则无结果。
  • 以管理员身份运行 Icarus 和 Visual Studio - 无结果
  • 将调试器附加到 Visual Studio 本身——是的!

唯一有所作为的是将调试器附加到 Visual Studio 本身,然后它会非常愉快地运行。在调试 Visual Studio 时,控制台上会喷出各种杂物,但似乎没有与该问题相关。

有人知道发生了什么或对解决方案有任何建议吗?

谢谢

4

1 回答 1

0

这可能对将来的某个人有所帮助,所以我发现问题出在我的代码中,但值得分享。

如果您使用 MapViewOfFile 从 DBWIN_BUFFER 和

  • 你有调试器附加
  • 您正在使用隔离的本地或应用程序域调试单元测试。

我怀疑存在一些争用导致 Visual Studio 或我的测试锁定并等待读取缓冲区。

于 2011-06-17T06:59:28.547 回答