Unified metadata for external components
    1.
    发明授权
    Unified metadata for external components 有权
    外部组件的统一元数据

    公开(公告)号:US09417931B2

    公开(公告)日:2016-08-16

    申请号:US12144724

    申请日:2008-06-24

    IPC分类号: G06F17/30 G06F9/54 G06F9/44

    CPC分类号: G06F9/541 G06F9/449

    摘要: A system and method for facilitating execution of multiple assemblies in a framework, in which the assemblies use a component external to the framework, is provided. A runtime manager may retrieve metadata from each of the assemblies, and selectively insert the metadata into a unified types object, so that metadata corresponding to equivalent type definitions is shared. When each assembly is executed, the combined metadata may be used to invoke or otherwise interact with the external component.

    摘要翻译: 提供了一种用于在框架中执行多个组件的系统和方法,其中组件使用框架外部的组件。 运行时管理器可以从每个组件中检索元数据,并且有选择地将元数据插入到统一类型对象中,从而共享与等效类型定义相对应的元数据。 当执行每个程序集时,可以使用组合的元数据来调用或以其他方式与外部组件交互。

    Managed code type equivalence
    2.
    发明申请
    Managed code type equivalence 审中-公开
    托管代码类型等价

    公开(公告)号:US20090319991A1

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

    申请号:US12143572

    申请日:2008-06-20

    IPC分类号: G06F9/44

    CPC分类号: G06F8/437

    摘要: The determination of whether two managed code types are of equivalent types on the basis of a comparison between type identifiers of the managed types. The type identifiers may be independent of an assembly in which the managed types are created, a namespace of the corresponding managed type, or a name of the corresponding managed type. Accordingly, the type equivalence determination may be made to be quite flexible, thereby potentially resulting in better type equivalence determinations in of managed types.

    摘要翻译: 基于被管理类型的类型标识符之间的比较,确定两个托管代码类型是否是等效类型。 类型标识符可以独立于其中创建被管理类型的组合,对应的被管理类型的命名空间或相应的被管理类型的名称。 因此,可以使类型等价性确定相当灵活,从而潜在地导致管理类型中更好的类型等价性确定。

    UNIFIED METADATA FOR EXTERNAL COMPONENTS
    3.
    发明申请
    UNIFIED METADATA FOR EXTERNAL COMPONENTS 有权
    用于外部组件的统一元数据

    公开(公告)号:US20090319554A1

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

    申请号:US12144724

    申请日:2008-06-24

    IPC分类号: G06F17/30

    CPC分类号: G06F9/541 G06F9/449

    摘要: A system and method for facilitating execution of multiple assemblies in a framework, in which the assemblies use a component external to the framework, is provided. A runtime manager may retrieve metadata from each of the assemblies, and selectively insert the metadata into a unified types object, so that metadata corresponding to equivalent type definitions is shared. When each assembly is executed, the combined metadata may be used to invoke or otherwise interact with the external component.

    摘要翻译: 提供了一种用于在框架中执行多个组件的系统和方法,其中组件使用框架外部的组件。 运行时管理器可以从每个组件中检索元数据,并且有选择地将元数据插入到统一类型对象中,从而共享与等效类型定义相对应的元数据。 当执行每个程序集时,可以使用组合的元数据来调用或以其他方式与外部组件交互。

    LOCAL METADATA FOR EXTERNAL COMPONENTS
    4.
    发明申请
    LOCAL METADATA FOR EXTERNAL COMPONENTS 审中-公开
    外部组件的本地元素

    公开(公告)号:US20090320007A1

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

    申请号:US12144743

    申请日:2008-06-24

    IPC分类号: G06F9/45

    摘要: A system and method for facilitating execution of a computer program in a framework, in which the computer program uses a component external to the framework is provided. The computer program is generated by compiling corresponding source code to produce generated code, extracting metadata corresponding to the external component, and combining the generated code with the metadata. The extracted metadata may be a partial subset of the metadata corresponding to the external component. When the computer program is executed, the combined metadata may be used to invoke or otherwise interact with the external component.

    摘要翻译: 提供了一种用于在框架中执行计算机程序的系统和方法,其中计算机程序使用框架外部的组件。 计算机程序是通过编译相应的源代码产生生成的代码,提取与外部组件对应的元数据,并将生成的代码与元数据组合而生成的。 所提取的元数据可以是对应于外部组件的元数据的部分子集。 当执行计算机程序时,可以使用组合的元数据来调用或以其他方式与外部组件交互。

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

    公开(公告)号:US07631249B2

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

    申请号:US11250347

    申请日:2005-10-14

    IPC分类号: H03M13/00

    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的损坏数据的位置。

    Profiler stackwalker
    8.
    发明授权
    Profiler stackwalker 失效
    剖析器栈行者

    公开(公告)号:US07712082B2

    公开(公告)日:2010-05-04

    申请号:US11088508

    申请日:2005-03-24

    IPC分类号: G06F9/44 G06F11/00

    CPC分类号: G06F11/3636

    摘要: A call stack includes at least one frame of managed code and at least one frame of unmanaged code. In a multithreaded environment, a request from a diagnostic tool to a tracing function for the call stack is made on a thread that is not associated with the call stack. The tracing function preserves a context for a thread associated with the call stack until the call stack tracing function ends. In a particular embodiment, a method grants access to a stackwalking function, such that when a point on the call stack is designated in a request for the stackwalking function, the stackwalking function commences at the point on the call stack. When no point on the call stack is designated in the request for the stackwalking function, a default position on the call stack is determined based on a last managed frame pushed onto the call stack and the stackwalking function commences at the default position on the call stack.

    摘要翻译: 呼叫栈包括至少一个被管理代码帧和至少一个非托管代码帧。 在多线程环境中,在与调用堆栈不相关联的线程上进行从诊断工具到调用堆栈的跟踪功能的请求。 跟踪功能保留与调用堆栈相关联的线程的上下文,直到调用堆栈跟踪功能结束。 在特定实施例中,一种方法授权对堆栈行进功能的访问,使得当在堆栈行进功能的请求中指定了调用堆栈上的一个点时,堆栈行为功能在调用堆栈上开始。 当在堆栈行进函数的请求中没有指定调用堆栈上的任何点时,基于最后一个被推送到调用堆栈上的被管理帧来确定调用堆栈上的默认位置,并且堆栈行进功能在调用堆栈的默认位置开始 。