我将如何去了解一个过程的快照以保存其状态以供将来调查?这可能吗?
问题描述:
这是否可能我不知道,但它会有用!我将如何去了解一个过程的快照以保存其状态以供将来调查?这可能吗?
我有一个定期失败的进程(在Windows 2000中运行)。然后我只有一次机会在重启之前对它做出反应,并痛苦地等待它再次失败。我没有编写该过程,因此没有源代码进行调试。失败似乎是随机的。
通过对过程的快照,我可以反复快速地测试对故障的反应。
我曾想过在虚拟机内部运行,但在这种情况下这是不可能的。
编辑: @乔恩笼问:
当你说一个快照,你的意思是捕捉过程时,它的即将失败(包括内存,程序状态等等等)...然后重播最后几秒钟,看看它对其他组件有什么影响?
这正是我的意思!
答
我最好的选择是在调试器中启动该过程(OllyDbg是我的首选工具)。 这个过程会暂停一个异常,你可以试着弄清楚在此之前发生了什么。
这需要对汇编程序有所了解,并且不允许为进程分析创建快照。您需要为此编写自己的调试程序 - 理论上应该可行。
答
你想捕捉什么? UDP/TCP消息?一些进程间通信?
我问的原因是,捕捉软件输出的内容(而不是过程本身)然后编写一个新过程来模拟这些相同的交互可能更容易?我正在使用我的一些当前项目中的一个小python脚本...
您使用哪种编程语言? – 2008-09-26 08:19:24