VS2010 使用 Gallio 调试自动化 HMI 测试速度非常慢

发布于 2024-11-15 22:23:46 字数 787 浏览 3 评论 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 上进行开发。这种设置引起了我们克服的各种问题。

在我疯狂地解决问题时,我尝试过:

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

唯一有影响的事情是将调试器附加到 Visual Studio 本身,然后它就可以愉快地运行了。调试 Visual Studio 时,控制台上会出现各种问题,但没有出现与该问题相关的内容。

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

谢谢

I'm seeing a problem where Visual Studio freezes for 30+ seconds when I try to watch a variable in a very specific test configuration and it's driving me wild. The issue does not appear when I debug the main application or the non-hmi unit tests

We are using Visual Studio 2010, Gallio 3.2 and White 0.2 (with either the Icarus Test Runner or Resharper) to run automated HMI tests, sometimes we like to debug them :-) The target platform is .Net 4.0 and x86 and I'm developing on Windows 7 x64. This setup caused various problems which we overcame.

In my wild thrashing around to solve the problem I've tried :

  • Forcing all Gallio apps to run as 32bit apps using CorFlags -- (fixed unit test issues)
  • Disabling Resharper -- No Result
  • Disabling the Exception Assistant -- No Result
  • Disabling property evaluation -- No Result
  • Creating a local symbol cache -- No Result
  • Changing the isolation level of the application between IsolatedProcess/IsolatedAppdomain/Local -- fails to run as isolated process but otherwise No Result.
  • Running Icarus & Visual Studio as admin -- No Result
  • Attaching a debugger to Visual Studio itself -- Yay Works!

The only thing which made a difference was attaching a debugger to Visual Studio itself, and then it trucks along quite happily. When debugging visual studio various cruft is spewed out on the console but nothing appears related to the issue.

Does anybody have any idea what is going on or have any suggestions for solution?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丢了幸福的猪 2024-11-22 22:23:46

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

如果您使用 MapViewOfFile 从 DBWIN_BUFFER 读取并且

  • 附加了调试器,
  • 并且正在使用隔离的本地或应用程序域调试单元测试,则 Visual Studio 2010 的行为会非常奇怪。

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

This might help someone in the future, so I found the problem it was in my code but it was worth sharing.

Visual Studio 2010 behaves very strangely if you use MapViewOfFile to read from DBWIN_BUFFER and

  • you have the debugger attached
  • you are using debugging a unit test with local or app domain isolated.

I suspect that there is some contention which causes either visual studio or my tests to lock and wait on reading the buffer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文