[发明专利]基于进程快照的诊断生产应用有效
申请号: | 201480062946.9 | 申请日: | 2014-11-14 |
公开(公告)号: | CN105745626B | 公开(公告)日: | 2019-05-14 |
发明(设计)人: | J·戴维斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/14 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨洁 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 进程 快照 诊断 生产 应用 | ||
调试和诊断系统允许动态代码生成,该动态代码生成将代码插入生产应用以标识使得在预定义条件被满足的情况下快照被拍摄的快照点或断点。快照点与生产应用的源代码中的位置相关联并包括必须被满足以创建生产应用的快照的条件语句。快照点被用来生成收集计划,收集计划被提供给运行生产应用的服务器。服务器基于收集计划重写生产应用的代码,以插入在条件语句满足时创建快照的指令。
技术领域
本公开涉及基于进程快照的诊断生产应用。
背景技术
传统的软件诊断工具(诸如调试器、剖析器以及存储器诊断工具)通常对实况的、正在运行的进程或保存的、重量进程状态(诸如进程转储文件或历史轨迹)进行操作。实况的进程提供关于进程如何达到其当前状态的很少的历史上下文或不提供关于进程如何达到其当前状态的历史上下文。在冗长的同时,创建和分析进程转储文件是极其重量且耗时的。
用于诊断运行在生产环境中的应用中的逻辑问题的大部分当前最新工艺使用轨迹语句或动态跟踪。例如,轨迹语句,诸如打印调试,监视指示进程的执行的流的打印语句。动态跟踪,诸如微软在保持生产进程停止时实时收集数据。另一方法是允许诊断解释,诸如微软iDNA。所有这些当前的方法具有缺点。
如果现有跟踪不够,那么跟踪需要修改代码。这样的修改需要重构并重新部署应用。对于跟踪,仅开发者实际上添加到跟踪的数据可见。由于跟踪实时运行而所涉及的线程在数据被收集时不能执行真正工作,跟踪语句趋向于很小且仅收集少量比特的信息。
低影响的方法,诸如跟踪和在可被收集的数据方面非常受限,因为收集必须实时发生,其可能对目标进程有很大影响并可能降低吞吐量和性能。
经解释模型,诸如微软公司的Time Travel Tracing(iDNA),有巨大影响,使得它们不适合在生产环境中诊断问题。
不侵略性且不破坏性地收集诊断数据是重要的。在生产环境中,诊断工具应当对生产进程和系统具有很少影响或不具有影响。使用现有的方案来对进程状态数据进行收集可能以不期望的方式影响进程和系统。
发明内容
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
本发明的各实施例允许用户研究服务器进程上的问题而不停止该进程。用户可标识进程代码中在特定条件下可在那里收集大量数据的点。用户可设立用于数据收集的点,并在每个点处定义数据收集的条件。代替实况调试该进程,所收集的数据被导出到可被上传到服务器的文件或收集计划。监视实用程序消费收集计划并注入使得进程的快照被创建的代码。监视实用程序修改被分析的函数的IL(中间语言),使得条件执行并确定何时创建进程的快照。在条件满足时,快照创建整个进程的副本,包括存储器空间、模块列表等等。用户可随后使用快照副本来检查任何变量的值。
一旦快照被创建,用户可向它们附连调试器并以类似于崩溃转储的方式来分析它们。可替换地,收集器进程可被用于从快照挖掘数据。通过创建多个快照,用户获得了随时间在进程中发生了什么的历史图片。例如,用户可通过在不同位置拍摄若干快照来模拟步进。用户通过分析逐快照的改变来诊断生产应用。
本发明的各实施例允许动态代码生成,其将代码插入生产应用以标识在预定义条件满足的情况下使得快照被拍摄的快照点或断点。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出用快照的历史调试。
图2示出根据一个实施例的轻量进程快照。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480062946.9/2.html,转载请声明来源钻瓜专利网。