代码之家  ›  专栏  ›  技术社区  ›  Steve Sheldon

捕获正在运行的.NET应用程序的快照以便稍后在调试器中播放

  •  1
  • Steve Sheldon  · 技术社区  · 16 年前

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

    你来过这里吗?QA团队中的某个人提交了一个bug,但是当您(开发人员)尝试重新编写这个bug时,几乎不可能复制导致问题的精确步骤集。这在涉及多个线程的情况下尤其常见。

    我在想,如果能够捕获正在运行的应用程序的整个内存状态,包括其调用堆栈、当前函数ptr等,那就太好了。从本质上讲,将应用程序脱水为二进制blob。

    现在,如果这个blob可以被传递给开发人员,使其“再水化”,回到它的最后一个状态,并准备连接一个调试程序,那么它将显著加快对这些问题的修复速度,因为在这些问题中,一个人要花半天的时间重新处理,30秒的时间进行修复。

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

    2 回复  |  直到 16 年前
        1
  •  1
  •   adrianbanks    16 年前

    我记得我曾经读到过这样的文章:作为高端Visual Studio测试版的一部分,这些代码中包含了一些东西。

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

        2
  •  1
  •   bristows    16 年前

    Visual Studio 2010 Ultimate和Microsoft测试运行程序完全按照您的描述执行。测试运行程序允许QA向bug报告、堆栈信息等添加视频,然后开发人员可以在vs中加载所有内容。

    不过,还是觉得很贵。