我有两个问题:
在进行源代码级调试(使用任何调试器)时,是否有任何调试器保存某些迭代/ for-loop /执行的任何代码的状态,并允许用户在调试期间稍后返回先前执行的代码/数据状态?需要这个是一些变量/指针在执行期间的某个时间早些时候被破坏但是在执行代码之后的某个时间/之后被访问,那就是当它崩溃/挂起代码时,所以我想回去看看哪个函数/在什么时候变量被破坏/错误的值计算并写入它?是否可以在任何调试器(gcc,MSVC6.0 ......)
是否有任何调试器/ IDE都规定当内存地址/变量被标记为"分析"时,它应该在每次更改/写入时显示哪个文件中的哪个函数以及哪个代码更改了该内存(写入)?
-广告
Rob*_*obS 10
这听起来很像你想要获取Visual Studio 2010的副本.
它们几乎完全实现了您在#1中描述的内容 - 在第9频道的 Visual Studio Team System 2010中有一个关于新"The Historical Debugger"的截屏视频.
这个条目中有更多关于它的信息(这个是2008年4月CTP的代号'Rosario')
我从Maor David的博客文章中找到了这个新的历史调试器的定义(这里):
"Visual Studio历史调试器捕获并记录应用程序在运行时所执行的操作.发生错误时,您可以通过调查历史调试器记录的信息快速找到根本原因.在调试过程中,您可以随时查看及时向前和向前确定错误发生的位置."
这是另一个视频演练!
编辑:我开始评估Visual Studio 2010中最近的(1)最近的CTP丢弃(31/10 - 10月08日),他们似乎已经实现了历史调试器的早期版本.可能值得一试.
我相信最新版本的 OCaml 有这个。这似乎是一种新时尚,但 IIRC 这是 Visual Studio 未来版本的愿望清单。
VS中的一个功能我没有使用过,可以跟踪对象(创建对象id或其他东西)。