Remote debugging of server side code without blocking or high-level privileges
    1.
    发明授权
    Remote debugging of server side code without blocking or high-level privileges 有权
    远程调试服务器端代码,无阻塞或高级权限

    公开(公告)号:US09064049B2

    公开(公告)日:2015-06-23

    申请号:US12967058

    申请日:2010-12-14

    摘要: A server exposes debugger services to a plurality of debugger clients. One or more debugger clients can select a debug operation and establish a debug session in a thread of a server process for debugging user code. A two-way debug communication pipeline can be established between a debugger client and the server using standard encoding protocols and standard network transport protocols. A two-way debug communication pipeline can be established using HTTP where the server can initiate a communication with the debugger client using a long polling technique. When one of the threads of the server process is suspended, the other threads in the server process continue to execute.

    摘要翻译: 服务器将调试器服务公开给多个调试器客户端。 一个或多个调试器客户机可以选择调试操作并在服务器进程的线程中建立调试会话,以调试用户代码。 可以使用标准编码协议和标准网络传输协议在调试器客户端和服务器之间建立双向调试通信流水线。 可以使用HTTP建立双向调试通信管道,其中服务器可以使用长轮询技术发起与调试器客户端的通信。 当服务器进程的一个线程被挂起时,服务器进程中的其他线程继续执行。

    Simulating stepping through interpreted code
    2.
    发明授权
    Simulating stepping through interpreted code 失效
    模拟逐步解读代码

    公开(公告)号:US08196107B2

    公开(公告)日:2012-06-05

    申请号:US12142617

    申请日:2008-06-19

    IPC分类号: G06F9/44

    CPC分类号: G06F11/362

    摘要: The present invention extends to methods, systems, and computer program products for simulating stepping through interpreted code. Embodiments of the present invention facilitate debugging interpreted code. Thus, existing debugger technologies (e.g., those configured for use with compiled code) can be utilized to debug interpreted code. More specifically, existing debugger technologies can be used to step through interpreted code, without stepping into the code of interpreter itself. Accordingly, users developing interpreted code can be provided a stepping experience of relatively the same quality provided to developers developing compiled code, without having to reengineer debuggers to compensate for interpreted code.

    摘要翻译: 本发明扩展到用于模拟通过解释代码的步骤的方法,系统和计算机程序产品。 本发明的实施例有助于调试解释的代码。 因此,可以使用现有的调试器技术(例如,配置为与编译代码一起使用的那些)技术来调试解释的代码。 更具体地说,可以使用现有的调试器技术来逐步解读解释的代码,而不必进入解释器本身的代码。 因此,开发解释代码的用户可以提供给开发人员开发编译代码的相对质量的步进体验,而不必重新设计调试器来补偿解释的代码。

    Debugger for virtual intermediate language operations
    3.
    发明授权
    Debugger for virtual intermediate language operations 有权
    用于虚拟中间语言操作的调试器

    公开(公告)号:US08095917B2

    公开(公告)日:2012-01-10

    申请号:US11810073

    申请日:2007-06-04

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3664

    摘要: Various technologies and techniques are disclosed for testing intermediate language operations. A debugger harness is provided that instruments an intermediate language stream to replace intermediate language operations with equivalent virtual intermediate language operations. A particular intermediate language operation is intercepted from the intermediate language stream and the equivalent virtual intermediate language operation is determined. The virtual machine runs under a debugger harness so that one or more managed applications are executed using the equivalent virtual intermediate language operations. This allows a functionality of the debugger to be tested.

    摘要翻译: 公开了用于测试中间语言操作的各种技术和技术。 提供了一种调试器线束,其用中间语言流来表示替代中间语言操作与等效的虚拟中间语言操作。 从中间语言流截取特定的中间语言操作,并确定等效的虚拟中间语言操作。 虚拟机在调试器线束下运行,以便使用等效的虚拟中间语言操作执行一个或多个托管应用程序。 这允许测试调试器的功能。

    DECOMPILING LOOPS IN A SPREADSHEET
    4.
    发明申请
    DECOMPILING LOOPS IN A SPREADSHEET 审中-公开
    分散的鞋子在一个散装

    公开(公告)号:US20110314365A1

    公开(公告)日:2011-12-22

    申请号:US12817456

    申请日:2010-06-17

    IPC分类号: G06F17/00

    CPC分类号: G06F17/246

    摘要: The present invention extends to methods, systems, and computer program products for decompiling loops in a spreadsheet. Embodiments of the invention detect loops by walking a dependency graph on a spreadsheet. As nodes are encountered, sequences of the same formulas are looked for in a normalized representation of the spreadsheet (e.g., R1C1 notation). When the same formulas are identified, the formulas may represent a loop. The spatial structure of the cells is analyzed to determine which cells are to be stored in arrays and which cells can be loop carried dependencies.

    摘要翻译: 本发明扩展到用于在电子表格中反编译循环的方法,系统和计算机程序产品。 本发明的实施例通过在电子表格上行走依赖图来检测循环。 在遇到节点时,在电子表格的归一化表示(例如,R1C1符号)中查找相同公式的序列。 当确定相同的公式时,公式可以表示循环。 分析单元的空间结构以确定哪些单元格将被存储在数组中,哪些单元可以是循环携带的依赖性。

    DEBUGGING PIPELINE
    5.
    发明申请
    DEBUGGING PIPELINE 有权
    调试管道

    公开(公告)号:US20100162212A1

    公开(公告)日:2010-06-24

    申请号:US12342876

    申请日:2008-12-23

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3664

    摘要: A debugging pipeline may be developed to create a debugging experience for computer code operating in an execution environment, using a debugging tool outside of the execution environment. A producer can publish a debugging pipeline, configured to link the producer to a consumer (e.g., a debugging tool) by exposing a debugging pipeline interface object to a consumer. The debugging pipeline can implement a set of debugging protocols, comprising: protocol for processing of debugging requests for computer code in at least one of at least two computer languages; a protocol configured for processing of computer code language types in respective signatures without exposing operating system specific constructs; and a protocol for a first debugging pipeline to be isolated from one or more second debugging pipelines. Additionally, a consumer component can provide debugging of the computer code in the execution environment.

    摘要翻译: 可以开发调试管道,以便在执行环境中使用调试工具创建在执行环境中运行的计算机代码的调试体验。 生产者可以发布调试管道,配置为通过将调试管道接口对象暴露给消费者来将生产者链接到消费者(例如调试工具)。 调试管道可以实现一组调试协议,包括:用于处理至少两种计算机语言中的至少一种的计算机代码的调试请求的协议; 配置用于处理各个签名中的计算机代码语言类型而不暴露操作系统特定构造的协议; 以及用于与一个或多个第二调试管道隔离的第一调试流水线的协议。 此外,消费者组件可以在执行环境中提供计算机代码的调试。

    INTERFACE OPTIMIZATION IN A CLOSED SYSTEM
    6.
    发明申请
    INTERFACE OPTIMIZATION IN A CLOSED SYSTEM 有权
    封闭系统界面优化

    公开(公告)号:US20090328020A1

    公开(公告)日:2009-12-31

    申请号:US12164029

    申请日:2008-06-28

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: Interface optimization is provided using a closed system in which all the individual software components in the system are known to the compiler at a single point in time. This knowledge enables significant opportunities to optimize the implementation of interfaces on a set of implemented objects. When code is compiled, because the compiler knows the full list of interfaces and the objects which implement the interfaces, it can improve execution and working set (i.e., recently referenced pages in a program's virtual address space) when implementing the interfaces on objects. This improvement may be realized by reducing the size of interface lookup tables which map each interface to the object types which implement that particular interface.

    摘要翻译: 使用封闭系统提供接口优化,其中系统中的所有单个软件组件在编译器在单个时间点是已知的。 这种知识有助于优化一组实现对象上的接口的实现的重要机会。 当编译代码时,由于编译器知道接口的完整列表和实现接口的对象,所以在实现对象上的接口时,可以改进执行和工作集(即程序的虚拟地址空间中最近被引用的页面)。 这种改进可以通过减小将每个接口映射到实现该特定接口的对象类型的接口查找表的大小来实现。

    Debugging Interpreted Input
    7.
    发明申请
    Debugging Interpreted Input 有权
    调试解释输入

    公开(公告)号:US20070277165A1

    公开(公告)日:2007-11-29

    申请号:US11419962

    申请日:2006-05-23

    IPC分类号: G06F9/45

    CPC分类号: G06F11/3624 G06F9/45504

    摘要: A method and system to implement debugging interpreted input is described herein. One or more Intermediate Language (IL) islands are generated. Each IL island maps to one or more lines of source code. The interpreter reads a line of source code and parses the line of source code for a command. Before executing the command, the interpreter may call into the corresponding IL island. The IL island may include a breakpoint that corresponds to a set breakpoint in the mapped one or more lines of source code. The IL island may include a function. When calling the IL island, the interpreter may pass in a function pointer, one or more states of one or more variables, a representation of a call stack, or any other parameters. The IL islands enable a debug tool to do source-level debugging of languages executed by an interpreter without architectural changes to the interpreter.

    摘要翻译: 本文描述了实现调试解释输入的方法和系统。 生成一个或多个中间语言(IL)岛。 每个IL岛映射到一行或多行源代码。 解释器读取一行源代码,并解析命令的源代码行。 在执行命令之前,解释器可以调用相应的IL岛。 IL岛可以包括对应于映射的一行或多行源代码中的设置断点的断点。 IL岛可以包括一个功能。 当调用IL岛时,解释器可以传递函数指针,一个或多个变量的一个或多个状态,调用堆栈的表示形式或任何其他参数。 IL岛允许调试工具对解释器执行的语言执行源代码级调试,而不会对解释器进行体系结构更改。

    Low privilege debugging pipeline
    8.
    发明授权
    Low privilege debugging pipeline 有权
    低权限调试管道

    公开(公告)号:US08392885B2

    公开(公告)日:2013-03-05

    申请号:US12339111

    申请日:2008-12-19

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3644 G06F11/3624

    摘要: A low privilege debug pipeline publisher advertises a debugging pipeline. Instead of having a client to which a debugger on the server has been attached interrogate the server for debugging information, the client requests information from the server. Control is returned to the server which can refuse to provide the requested information to the client. A debuggee server executes client code being debugged in an isolated context so that pausing the code at a breakpoint does not block the server. The server can apply transforms to compiled code to make the code cooperate with debugging services so that a privileged component to inspect the debuggee code is not needed.

    摘要翻译: 低权限调试管道发布商发布调试管道。 服务器上已经安装了调试器的客户端询问服务器进行调试信息,而不是从服务器请求信息。 控制返回给拒绝向客户端提供所请求的信息的服务器。 调试服务器执行在孤立上下文中调试的客户机代码,以便在断点处暂停代码不会阻止服务器。 服务器可以将转换应用到编译代码,使代码与调试服务配合,从而不需要用于检查调试代码的特权组件。

    Debugging interpreted input
    9.
    发明授权
    Debugging interpreted input 有权
    调试解释输入

    公开(公告)号:US08225286B2

    公开(公告)日:2012-07-17

    申请号:US11419962

    申请日:2006-05-23

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3624 G06F9/45504

    摘要: A method and system to implement debugging interpreted input is described herein. One or more Intermediate Language (IL) islands are generated. Each IL island maps to one or more lines of source code. The interpreter reads a line of source code and parses the line of source code for a command. Before executing the command, the interpreter may call into the corresponding IL island. The IL island may include a breakpoint that corresponds to a set breakpoint in the mapped one or more lines of source code. The IL island may include a function. When calling the IL island, the interpreter may pass in a function pointer, one or more states of one or more variables, a representation of a call stack, or any other parameters. The IL islands enable a debug tool to do source-level debugging of languages executed by an interpreter without architectural changes to the interpreter.

    摘要翻译: 本文描述了实现调试解释输入的方法和系统。 生成一个或多个中间语言(IL)岛。 每个IL岛映射到一行或多行源代码。 解释器读取一行源代码,并解析命令的源代码行。 在执行命令之前,解释器可以调用相应的IL岛。 IL岛可以包括对应于映射的一行或多行源代码中的设定断点的断点。 IL岛可以包括一个功能。 当调用IL岛时,解释器可以传递函数指针,一个或多个变量的一个或多个状态,调用堆栈的表示形式或任何其他参数。 IL岛允许调试工具对解释器执行的语言执行源代码级调试,而不会对解释器进行体系结构更改。