捕获正在运行的.net应用程序的快照,以便稍后在调试器中进行回放

时间:2010-06-24 22:59:29

标签: .net debugging

这可能只是一个疯狂的梦想,但我想我会问这样的事情是否存在......

你有没有来过这里......质量保证团队中有人提交了一个错误,但当你(开发人员)试图重新编写错误时,几乎不可能重现导致问题的确切步骤。这在涉及多个线程时尤为常见。

我认为如果可以捕获正在运行的应用程序的整个内存状态,包括它的callstack,当前函数ptr等等,那将是很好的。本质上,将应用程序脱水为二进制blob。

现在,如果这个blob可以传递给开发人员“Rehydrated”回到它的最后状态准备连接一个调试器,它将显着加快修复这些问题,其中一个花费半天repro '和30秒修复。

有人知道.net是否存在这样的工具?

2 个答案:

答案 0 :(得分:1)

我记得读过这些内容的东西是高端Visual Studio测试版的一部分。

似乎被称为“Visual Studio Team Lab Management”。这使测试人员能够在发生错误时保存整个(虚拟)计算机的状态,并将此快照与错误报告一起包含在内。结合IntelliSense(再次,仅在高端Visual Studio版本中),它使开发人员能够检查代码的运行状态,从错误发生的那一刻开始。

答案 1 :(得分:1)

Visual Studio 2010终极版和Microsoft测试版跑者完全按照您的描述进行操作。测试运行器允许QA将视频添加到错误报告,堆栈信息等,然后开发人员可以在VS中加载everthing。

认为这是相当昂贵的。