10

我在 VS10 中的测试调试器遇到了一些问题。所有测试都在正常运行,但是在调试时,当我尝试读取对象数据时它会中止。之后,此错误显示在摘要中:Test host process exited unexpectedly.

我无法看到有关该错误的更多详细信息。如何访问/生成测试日志文件?或者,更好的是:有没有人遇到过类似的问题?并找到了解决方案?


附加信息:

运行时测试数据可用于来自同一库程序集的对象,它只是我在运行时模式下无法访问的一类。如果我在以下位置使用断点:

  • 影响对象的每一行: - 我可以看到运行时数据和测试通过
  • 只有一个地方: - 测试将中止,没有数据可见
  • 没有断点: - 测试运行并通过。

直到最近,该测试一直运行良好。就在问题发生之前,我通过将项目划分为解决方案文件夹进行了一些解决方案更改。我没有进行任何会影响代码的更改。将项目移回其原始文件夹并不能解决问题,所以我想知道 - 这是 Visual Studio 本身的错误吗?

这是我迄今为止尝试过的:

  • 重建和清洁解决方案。
  • 关闭 Visual Studio 并重新启动我的系统。
  • 安装 VS10 服务包 1
  • 重新安装 Visual Studio 10
  • 在 VS10 Ultimate 和 Premium 上进行测试
  • 删除和重新生成解决方案文件
  • 删除所有断点
  • TraceAndTestImpact/Local.testsettings:测试Timeout > timeout并将中止设置为 30 分钟。
  • TraceAndTestImpact/Local.testsettings:Unit Test > Assembly定义的文件夹
  • TraceAndTestImpact/Local.testsettings:Deployment > Enable deployment目录和文件

我怎样才能解决这个问题?欢迎任何建议。

4

4 回答 4

7

这里最有可能发生的是,在 locals 或 autos 窗口中评估的 local 属性会在运行过程中产生副作用,从而导致失败。要验证这一点,您应该关闭自动属性评估

  • 工具 -> 选项
  • 转到调试器菜单
  • 取消选中“启用属性评估和其他隐式函数调用”
于 2011-07-26T16:12:02.980 回答
0

在我的情况下,我终于能够解决这个问题。对我来说发生的事情是我正在运行异步线程,但是使用 powershell 运行空间的同步 Close() 方法而不是异步 CloseAsync() 方法关闭了一个进程。

于 2013-07-23T21:21:39.700 回答
0

我遇到了类似的问题,但是在我的情况下,所有测试都被跳过了,并且该错误在空测试项目上可以重现,因此排除了代码。

检查事件查看器让我找到了我的原因;不知何故 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe.config 文件已从我的机器中删除?!?我在这里从另一台机器上复制了一个,然后我又开始行动了。

于 2012-03-01T01:05:05.927 回答
0

解决方案: 它覆盖了 ToString,正如它所显示的那样,我忘记关闭一个循环。更改 ToSting 后一切正常。

非常感谢您的回答:)

于 2011-07-27T06:54:05.280 回答