Method and apparatus for debugging a software program using dynamic debug patches and copy on write views
    1.
    发明授权
    Method and apparatus for debugging a software program using dynamic debug patches and copy on write views 有权
    用于使用动态调试补丁调试软件程序并在写入视图上复制的方法和装置

    公开(公告)号:US06839894B1

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

    申请号:US09717187

    申请日:2000-11-20

    IPC分类号: G06F9/44 G06F11/36

    CPC分类号: G06F11/3644

    摘要: A method and apparatus for debugging a software program is provided that is non-intrusive and allows multiple persons to debug concurrently in view private sessions. In one example, a method includes preserving a memory state of a portion of a software program, such as a database system. A second software program is compiled and dynamically linked, and which when executed, would normally cause modification to targeted data in the preserved portion of the software program. The second software program is executed by making a copy of the targeted data in the preserved portion of the software program. The copy is modified to generate a modified copy of the targeted data without modifying the data that is in the preserved portion of the software program. In subsequent accesses, the user that issued that executed the second software program accesses the modified copy whenever the user would have otherwise accessed the corresponding preserved portion. The second software program is made accessible to other users of the database system by publishing in the preserved portion a corresponding symbolic name associated with the second software program. If another user accesses the second software program and executes it, then another copy of the targeted data is made for that user. As before the copy is modified to generate a modified copy of the targeted data without modifying the data that is in the preserved portion of the software program.

    摘要翻译: 提供了一种用于调试软件程序的方法和装置,其是非侵入式的,并且允许多个人在查看私人会话期间同时调试。 在一个示例中,一种方法包括保存诸如数据库系统的软件程序的一部分的存储器状态。 第二个软件程序被编译和动态链接,并且在执行时通常会对软件程序的保留部分中的目标数据进行修改。 通过在软件程序的保留部分中制作目标数据的副本来执行第二软件程序。 修改该副本以生成目标数据的修改副本,而不修改软件程序的保留部分中的数据。 在随后的访问中,执行第二软件程序的发出的用户每当用户将以其他方式访问相应的保留部分时访问修改的副本。 通过在保留部分中发布与第二软件程序相关联的相应符号名称,可以使数据库系统的其他用户访问第二软件程序。 如果另一个用户访问第二个软件程序并执行它,则为该用户创建目标数据的另一个副本。 如前所述,修改副本以生成目标数据的修改副本,而不修改软件程序的保留部分中的数据。

    Method and apparatus for debugging a software program
    2.
    发明授权
    Method and apparatus for debugging a software program 有权
    用于调试软件程序的方法和装置

    公开(公告)号:US06671825B1

    公开(公告)日:2003-12-30

    申请号:US09649310

    申请日:2000-08-28

    IPC分类号: G06F1100

    CPC分类号: G06F11/3644

    摘要: A method and apparatus for debugging a software program is provided that is non-intrusive and allows multiple persons to debug concurrently in view private sessions. In one example, a method includes preserving a memory state of a portion of a software program, such as a database system. A debug command is received that, when executed, would normally cause modification to targeted data in the preserved portion of the software program. The command is executed by making a copy of the targeted data in the preserved portion of the software program. The copy is modified to generate a modified copy of the targeted data without modifying the data that is in the preserved portion of the software program. In subsequent accesses, the user that issued the debug command accesses the modified copy whenever the user would have otherwise accessed the corresponding preserved portion.

    摘要翻译: 提供了一种用于调试软件程序的方法和装置,其是非侵入式的,并且允许多个人在查看私人会话期间同时调试。 在一个示例中,一种方法包括保存诸如数据库系统的软件程序的一部分的存储器状态。 接收到一个调试命令,当被执行时,通常会对软件程序的保留部分中的目标数据进行修改。 通过在软件程序的保留部分中制作目标数据的副本来执行命令。 修改该副本以生成目标数据的修改副本,而不修改软件程序的保留部分中的数据。 在随后的访问中,发出调试命令的用户每当用户将以其他方式访问相应的保留部分时访问修改的副本。

    Debug and data collection mechanism utilizing a difference in database state by using consecutive snapshots of the database state
    3.
    发明授权
    Debug and data collection mechanism utilizing a difference in database state by using consecutive snapshots of the database state 有权
    通过使用数据库状态的连续快照,利用数据库状态差异的调试和数据收集机制

    公开(公告)号:US06745344B1

    公开(公告)日:2004-06-01

    申请号:US09717161

    申请日:2000-11-20

    IPC分类号: G06F1100

    摘要: A method and apparatus for debugging a software program is provided. In one example, a method includes preserving consecutive snapshots of a group of shared memory structures that contain data and control information of the software, such as a database system. A first snapshot may be taken immediately prior to the occurrence of an error, and a second snapshot taken after the occurrence of the error. The consecutive snapshots are compared to each other to determine what memory structures and data are affected by the error.

    摘要翻译: 提供了一种用于调试软件程序的方法和装置。 在一个示例中,一种方法包括保存包含诸如数据库系统的软件的数据和控制信息的一组共享存储器结构的连续快照。 在发生错误之前可以立即采取第一个快照,并且在发生错误之后拍摄第二个快照。 将连续的快照相互比较,以确定哪些内存结构和数据受到错误的影响。

    Fast database state dumps to file for deferred analysis of a database
    4.
    发明授权
    Fast database state dumps to file for deferred analysis of a database 有权
    快速数据库状态转储到文件以进行数据库的延迟分析

    公开(公告)号:US06671826B1

    公开(公告)日:2003-12-30

    申请号:US09717162

    申请日:2000-11-20

    IPC分类号: G06F1100

    摘要: In one embodiment, the method of debugging a software program comprises preserving a memory state of a portion of the software program, such as a database system. The memory state is preserved when a failure event is detected in the software program. The preserved memory state portion of the software program is extracted and stored in a storage medium for deferred analysis. Normal database operations are resumed as soon as the memory state is preserved. The deferred analysis is performed by starting a new database instance corresponding to the preserved memory state portion and using the new database instance to extract information for high-level debugging of the software program. Thus, where downtime of a software program must be kept to a minimum, the present invention provides techniques for performing quick diagnostics of the software program.

    摘要翻译: 在一个实施例中,调试软件程序的方法包括保存诸如数据库系统的软件程序的一部分的存储器状态。 当在软件程序中检测到故障事件时,存储器状态被保留。 提取软件程序的保存的存储器状态部分并将其存储在用于延迟分析的存储介质中。 一旦保存了内存状态,恢复正常的数据库操作。 通过启动对应于保留的存储器状态部分的新数据库实例并使用新的数据库实例来提取用于软件程序的高级调试的信息来执行延迟分析。 因此,在软件程序的停机时间必须最小化的情况下,本发明提供了用于执行软件程序的快速诊断的技术。