Method and system for program editing
    21.
    发明申请
    Method and system for program editing 有权
    程序编辑方法和系统

    公开(公告)号:US20050028137A1

    公开(公告)日:2005-02-03

    申请号:US10925515

    申请日:2004-08-25

    IPC分类号: G06F9/44 G06F9/45 G06F11/36

    CPC分类号: G06F11/3664 G06F8/48

    摘要: A method and system are disclosed for editing a software program in a common language runtime environment, wherein the software program has a source code component, an intermediate language component, and a native code component. The method comprises executing a first portion of the native code component, suspending execution of the native code component at a first point, and allowing a user to edit the source code component to create an edited source code component. The edited source code component is compiled using a source compiler to create an edited intermediate language component, and the edited intermediate language component is compiled using an intermediate language compiler to create an edited native code component. The edited native code component is then executed beginning at the point where execution was previously suspended.

    摘要翻译: 公开了用于在公共语言运行时环境中编辑软件程序的方法和系统,其中软件程序具有源代码组件,中间语言组件和本地代码组件。 该方法包括执行本地代码组件的第一部分,在第一点暂停本机代码组件的执行,并且允许用户编辑源代码组件以创建编辑的源代码组件。 使用源编译器编辑编辑的源代码组件以创建编辑的中间语言组件,并且使用中间语言编译器编译编辑的中间语言组件以创建编辑的本地代码组件。 然后从执行先前暂停的点开始执行编辑的本机代码组件。

    Semantic Grouping for Program Performance Data Analysis
    22.
    发明申请
    Semantic Grouping for Program Performance Data Analysis 有权
    程序性能数据分析的语义分组

    公开(公告)号:US20120072423A1

    公开(公告)日:2012-03-22

    申请号:US12885714

    申请日:2010-09-20

    IPC分类号: G06F17/30

    摘要: Particular portions of program execution data are specified and organized in semantic groups. A grouping expression written in a transformation syntax language specifies a pattern and a replacement, for grouping performance data samples. An exception to the pattern can also be specified. In response to the grouping expression, a cost accounting shows groups and their costs. The grouping expression may operate on names and/or name-associated characteristics such as private/public status, author, directory, and the like. Samples may represent nodes in a directed acyclic graph memorializing call stacks or memory allocation. Grouping expressions are used to group nodes and consolidate costs by various procedures when making modified sample stacks: clustering-by-name, entry-group-clustering, folding-by-name, a folding-by-cost. An entry group clustering shows at least one entry point name while avoiding unwanted detail.

    摘要翻译: 程序执行数据的特定部分被指定并组织在语义组中。 以变​​换语法语言编写的分组表达式指定用于对性能数据样本进行分组的模式和替换。 也可以指定模式的例外。 响应于分组表达式,成本会计显示组及其成本。 分组表达式可以在诸如私人/公共状态,作者,目录等的名称和/或名称相关特征上操作。 样本可以表示记录调用堆栈或存储器分配的有向无环图中的节点。 分组表达式用于分组节点,并在进行修改的样本堆栈时通过各种过程合并成本:按名称进行聚类,入口组聚类,逐个折叠,折叠成本。 入口组群集显示至少一个入口点名称,同时避免不必要的详细信息。

    Detaching Profilers
    23.
    发明申请
    Detaching Profilers 有权
    分离分析器

    公开(公告)号:US20080313618A1

    公开(公告)日:2008-12-18

    申请号:US11762260

    申请日:2007-06-13

    IPC分类号: G06F9/44

    摘要: A profiler may be detached from an actively running application by first sealing communications between the application and profiler, then evacuating the profiler by waiting for any profiler-modified or instrumented code to complete execution, profiler runtime code to complete execution, cleaning up any residual items from the profiler, and shutting down the profiler. The profiler may be operational in many different environments, including a managed environment such as a virtual machine and those environments having just in time compiling of executable code.

    摘要翻译: 通过首先密封应用程序和分析器之间的通信,然后通过等待任何分析器修改或检测的代码完成执行,分析器运行代码来完成执行,清理任何剩余项目,从而分析器可能与主动运行的应用程序分离 从分析器中,并关闭分析器。 分析器可以在许多不同的环境中操作,包括诸如虚拟机的管理环境以及刚刚编译可执行代码的那些环境。

    Dynamically determining a buffer-stack overrun
    24.
    发明申请
    Dynamically determining a buffer-stack overrun 有权
    动态确定缓冲区堆栈溢出

    公开(公告)号:US20070089088A1

    公开(公告)日:2007-04-19

    申请号:US11250347

    申请日:2005-10-14

    IPC分类号: G06F9/44

    CPC分类号: G06F21/52

    摘要: Example embodiments provide for effectively executing a stack-walk and other operations by dynamically accessing information about the expected location of cookies on a stack. For example, a first function is executed that causes a stack-walk operation to occur. While performing the stack-walk operation, cookie location information for a cookie placed on the stack by a second function different from the first function is accessed. The cookie, if uncorrupted, includes a known value that is used to determine if the stack has been corrupted. Based on the cookie location information, corrupt data representative of the cookie is accessed. A global cookie, which also includes the known value, is also accessed. The known value of the global cookie is then compared with the corrupt data to determine that the stack is corrupted at least up to the location of the corrupt data representative of the cookie.

    摘要翻译: 示例性实施例提供通过动态地访问关于堆栈上的Cookie的预期位置的信息来有效地执行堆栈步行和其他操作。 例如,执行导致堆栈步行操作发生的第一功能。 在执行堆栈步行操作时,访问通过与第一功能不同的第二功能放置在堆栈上的cookie的cookie位置信息。 cookie如果未被破坏,则包含用于确定堆栈是否已损坏的已知值。 根据cookie位置信息,访问代表cookie的损坏数据。 还可以访问还包括已知值的全局cookie。 然后将全局cookie的已知值与损坏的数据进行比较,以确定堆栈至少损坏代表cookie的损坏数据的位置。

    CLASS INITIALIZATION METHOD SEMANTICS
    25.
    发明申请
    CLASS INITIALIZATION METHOD SEMANTICS 失效
    类初始化方法语义

    公开(公告)号:US20070006198A1

    公开(公告)日:2007-01-04

    申请号:US11465091

    申请日:2006-08-16

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F9/524

    摘要: A system and method for mitigating problems associated with automatic execution of initialization code is provided. The system includes an initialization method activator that can call a class initialization method at a pre-determined execution point. The system also includes a deadlock analyzer that can determine whether calling the initialization method will create a deadlock, and, if a deadlock is detected that can resolve such a deadlock. The system also includes a semantic analyzing component that can analyze a semantic type associated with the initialization method and a domain uniqueness analyzer that can analyze the uniqueness of the domain with which the class will interact, to facilitate determining where to place code that will check whether a class is initialized, and if the class is not initialized that will invoke the class initializing method.

    摘要翻译: 提供了一种减轻与自动执行初始化代码相关的问题的系统和方法。 该系统包括可以在预定执行点调用类初始化方法的初始化方法激活器。 该系统还包括一个死锁分析器,可以确定调用初始化方法是否会产生死锁,并且如果检测到可以解决这种死锁的死锁。 该系统还包括可以分析与初始化方法相关联的语义类型的语义分析组件和可以分析类将与之交互的域的唯一性的域唯一性分析器,以便于确定在哪里放置将检查是否 一个类被初始化,如果类没有被初始化,这将调用类初始化方法。

    Techniques for managed code debugging
    27.
    发明申请
    Techniques for managed code debugging 有权
    托管代码调试技巧

    公开(公告)号:US20050097399A1

    公开(公告)日:2005-05-05

    申请号:US10700180

    申请日:2003-11-03

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3624

    摘要: A system and method for facilitating cross-process access into a managed code process is useful in an embodiment of the invention for debugging managed code without perturbing the process being accessed or requiring the code under test to be running during debugging. A compiler according to an embodiment of the invention is used to produce mirror code wherein in-process pointers have been replaced with cross-process pointers in order to mirror the address space of the process under test to the address space of the mirror code process. In a further embodiment, the mirror code process is modified not only to allow but also to optimize the cross-process access.

    摘要翻译: 用于促进对托管代码过程的跨进程访问的系统和方法在本发明的一个实施例中是有用的,用于调试托管代码而不干扰要访问的进程或要求被测代码在调试期间运行。 根据本发明的实施例的编译器用于产生镜像代码,其中过程中指针已被交叉处理指针替代,以便将被测进程的地址空间镜像到镜像码处理的地址空间。 在另一实施例中,镜像码过程被修改为不仅允许而且优化交叉进程访问。