[发明专利]n路运行时互操作调试有效
申请号: | 201280030942.3 | 申请日: | 2012-06-06 |
公开(公告)号: | CN103620561A | 公开(公告)日: | 2014-03-05 |
发明(设计)人: | J·M·戴维斯;G·B·米斯凯利 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 罗婷婷 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运行 操作 调试 | ||
背景
在调试进程时,可生成调试事件。调试器通常监听调试事件,并对调试事件作出响应。调试事件可以在进程被创建时、在模块被加载时、在异常被抛出时、及在断点被遇到时等被创建。调试器使用调试事件和检查应用编程接口(API)来实现调试操作。在调试事件被分派时,被调试程序(被调试的进程)通常被停止,直到调试器继续调试事件。在被调试程序被停止时,调试器可以检查该被调试程序的状态。当被调试程序被继续时,该进程运行,直到下一个调试事件被遇到。通常,托管代码调试和本机代码调试具有不同的调试事件集合,和在停止状态和运行状态之间的不同转移方式。
本机调试通常由操作系统(OS)来实现。该OS提供用于监听和继续调试事件的调试API。在调试事件发生时,OS冻结被调试程序(正被调试的进程)。本机调试是进程外操作,即该进程被冻结并且该进程之外的代码(在OS中)检查来自被冻结进程的值。进程外调试不需要来自被调试程序的协作。本机被调试程序停止状态被称为冻结,因为该进程已被OS停止,并且没有代码在该进程内部执行,直到OS再次启动该进程。
操作系统不对已冻结进程执行虚拟机环境中(例如,Eclipse中或微软的Visual中)的调试。虚拟机环境中的调试通常由虚拟机的运行时环境来实现,并且是进程中操作。进程内部的代码执行以进行调试操作。OS没有该类型的调试何时发生的知识。被调试程序停止状态有时被称为“同步的”,因为从OS的角度来看同步进程是活的,但所有这些线程都被运行时环境停止。虚拟机调试事件可以被“构建在”本机调试事件“的上方”或使用本机调试事件来实现。
虚拟机运行时服务实现虚拟机调试操作,而不实现本机调试操作。类似地,本机调试API不提供对虚拟机环境中的调试的支持。虚拟机环境中的调试操作和本机调试操作被不同地实现。例如,在Visual中,托管步进由运行时环境API来实现,而本机步进由消费本机调试事件的本机调试库来实现。本机执行控制(对步进操作和断点的控制)通常使用OS异常处理来实现,并且在本机调试API中缺少显式支持。托管调试API显式地具有断点和步进功能。托管调试的抽象层和本机调试的抽象层中的差异防止在托管调试操作和本机调试操作之间的代码共享。
某些IDE能够在单个调试会话中调试在虚拟机运行时环境中以及在本机运行时中运行的代码。这被称为互操作调试。由于底层的冲突调试架构设计,在已知的互操作调试器中使用的机制是受限的,并且依赖于本机运行时调试器和虚拟机运行时调试器之间单调而脆弱的操作。
概述
对在多种类型的运行时环境中运行的、单个被调试程序进程内的代码的调试可以使用可扩展调试架构在相同的调试会话中同步执行。这样的同步调试在此被称为n路互操作调试。N路互操作调试可以提供包括在单个被调试程序进程中(在单个调试会话)执行的所有运行时环境的逻辑视图在内的整个被调试程序进程的整体视图。各运行时调试器之间的交互也可被查看。对虚拟机运行时环境的调试支持允许使用一组调试器接口来促进调试操作的互操作调试。虚拟机运行时环境所创建的调试支持不会干预对该进程中的其他运行时被调试程序的调试。
互操作调试允许执行控制、使从一个运行时运行的被调试程序代码步进到另一运行时、在多个运行时被调试程序中设置断点、检查来自多个运行时被调试程序的值、以及执行包含来自多个运行时调试器的代码的调用栈。运行时调试器被排定优先级,使得最高优先级的运行时调试器控制执行并展开这个栈。
符合的运行时被调试程序可以由n路互操作调试器互操作地调试。符合的运行时被调试程序是使用对检查和执行控制的进程外调试支持、使用兼容的调试器/被调试程序通信协议、可以为执行控制和栈展开检测运行时被调试程序之内和之外的边界的被调试程序。对于抛出异常的那些运行时被调试程序,各兼容的运行时调试器可以检测出从一个运行时被调试程序抛出并在另一个运行时被调试程序内捕获的异常。进程外调试不会涉及被调试程序进程中的执行代码,使得各运行时不会干预彼此的线程模型或执行模型。符合的运行时调试器可以被插入到n路互操作调试器中。
在此描述的各接口和各机制可用作用于步进调试器中的各操作的通用可扩展性模型。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图简述
在附图中:
图1示出了根据此处所公开的主题的各方面的用于n路互操作调试的系统100的示例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280030942.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:水轮机主轴活塞式水压端面密封装置
- 下一篇:轴销式起重机超载限制器