-
公开(公告)号:US09268666B2
公开(公告)日:2016-02-23
申请号:US13309205
申请日:2011-12-01
IPC分类号: G06F11/36
CPC分类号: G06F11/3644 , G06F11/362 , G06F11/3668
摘要: We describe techniques which relate to bi-directional, in particular backwards, debugging of computer programs. Thus we describe identifying processes with shared memory access, such as threads or multicore processes, by arranging process (thread) memory ownership to deliberate provoke memory page faults to identify and handle concurrent memory access by multiple threads in such a manner as to enable deterministic replay, and hence backwards debugging.
摘要翻译: 我们描述与计算机程序的双向特别是向后调试有关的技术。 因此,我们通过安排进程(线程)内存所有权来描述识别具有共享内存访问的进程,例如线程或多核进程,以便考虑挑选内存页错误以识别和处理多个线程的并发内存访问,以便能够进行确定性重播 ,因此向后调试。
-
公开(公告)号:US20080301417A1
公开(公告)日:2008-12-04
申请号:US12090974
申请日:2006-10-11
IPC分类号: G06F9/30
CPC分类号: G06F9/52 , G06F9/3863 , G06F11/3636 , G06F11/3644 , G06F11/3664
摘要: The present invention relates to debugging of computer programs, and in particular to bi-directional debugging.A method of returning to a state in the history of execution of a computer program, said state comprising a set of values of one or more of registers of a processor on which the program is running, working memory space to which the program has access and operating system resources allocated to the program, the method comprising: identifying in machine code representing said program, instances of machine code instructions associated with substantially non-deterministic events; modifying said program machine code to execute a program instrumentation set of machine code instructions to handle said substantially non-deterministic events; executing said modified program machine code, storing a time series of said states during said executing; restoring a said stored state; and executing said modified program machine code forward in time starting at said restored state to return to said state in said program history of execution.
摘要翻译: 本发明涉及计算机程序的调试,特别涉及双向调试。 一种返回计算机程序执行历史状态的方法,所述状态包括程序正在运行的处理器的一个或多个寄存器的值的集合,所述程序具有访问的工作存储空间,以及 分配给所述程序的操作系统资源,所述方法包括:在表示所述程序的机器代码中识别与基本上非确定性事件相关联的机器代码指令的实例; 修改所述程序机器代码以执行机器代码指令的程序仪表集合以处理所述基本上非确定性事件; 执行所述修改的程序机器代码,在所述执行期间存储所述状态的时间序列; 恢复所述存储状态; 以及在所述恢复状态下从时间开始执行所述修改的程序机器代码,以在所述程序执行历史中返回到所述状态。
-
公开(公告)号:US08090989B2
公开(公告)日:2012-01-03
申请号:US12090974
申请日:2006-10-11
IPC分类号: G06F11/00
CPC分类号: G06F9/52 , G06F9/3863 , G06F11/3636 , G06F11/3644 , G06F11/3664
摘要: The present invention relates to debugging of computer programs, and in particular to bi-directional debugging.A method of returning to a state in the history of execution of a computer program, said state comprising a set of values of one or more of registers of a processor on which the program is running, working memory space to which the program has access and operating system resources allocated to the program, the method comprising: identifying in machine code representing said program, instances of machine code instructions associated with substantially non-deterministic events; modifying said program machine code to execute a program instrumentation set of machine code instructions to handle said substantially non-deterministic events; executing said modified program machine code, storing a time series of said states during said executing; restoring a said stored state; and executing said modified program machine code forward in time starting at said restored state to return to said state in said program history of execution.
摘要翻译: 本发明涉及计算机程序的调试,特别涉及双向调试。 一种返回计算机程序执行历史状态的方法,所述状态包括程序正在运行的处理器的一个或多个寄存器的值的集合,所述程序具有访问的工作存储空间,以及 分配给所述程序的操作系统资源,所述方法包括:在表示所述程序的机器代码中识别与基本上非确定性事件相关联的机器代码指令的实例; 修改所述程序机器代码以执行机器代码指令的程序仪表集合以处理所述基本上非确定性事件; 执行所述修改的程序机器代码,在所述执行期间存储所述状态的时间序列; 恢复所述存储状态; 以及在所述恢复状态下从时间开始执行所述修改的程序机器代码,以在所述程序执行历史中返回到所述状态。
-
公开(公告)号:US20120096441A1
公开(公告)日:2012-04-19
申请号:US13309205
申请日:2011-12-01
IPC分类号: G06F11/36
CPC分类号: G06F11/3644 , G06F11/362 , G06F11/3668
摘要: We describe techniques which relate to bi-directional, in particular backwards, debugging of computer programs. Thus we describe identifying processes with shared memory access, such as threads or multicore processes, by arranging process (thread) memory ownership to deliberate provoke memory page faults to identify and handle concurrent memory access by multiple threads in such a manner as to enable deterministic replay, and hence backwards debugging.
摘要翻译: 我们描述与计算机程序的双向特别是向后调试有关的技术。 因此,我们通过安排进程(线程)内存所有权来描述识别具有共享内存访问的进程,例如线程或多核进程,以便考虑挑选内存页错误以识别和处理多个线程的并发内存访问,以便能够进行确定性重播 ,因此向后调试。
-
-
-