Implementing a step-type operation during debugging of code using internal breakpoints
    101.
    发明授权
    Implementing a step-type operation during debugging of code using internal breakpoints 有权
    在使用内部断点调试代码期间执行步进式操作

    公开(公告)号:US08843899B2

    公开(公告)日:2014-09-23

    申请号:US12915288

    申请日:2010-10-29

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3624

    摘要: Debugging of code of a computer program is facilitated by implementing a step-type operation using internal breakpoints to ensure debugger control of the code. During a debugging session, a step-type operation is implemented by setting active internal breakpoints on every line of code of every routine currently on the call stack referenced by the processor and on entry points of the code being debugged, and subsequently leaving in place, upon completion of the step-type operation, active internal breakpoints. Subsequent to implementing the step-type operation any active internal breakpoints encountered during execution of one or more other operations of the code and deemed unnecessary to completion of the other operation(s) are disabled, and the location of any internal breakpoints disabled during execution of the one or more other operations are tracked in a data structure(s) for subsequent use in reestablishing needed internal breakpoints for implementation of another step-type operation.

    摘要翻译: 通过使用内部断点实现步进式操作来确保调试器对代码的控制,便于调试计算机程序的代码。 在调试会话期间,通过在处理器引用的调用堆栈上的每个例程的每个代码行上以及被调试的代码的入口点上设置活动的内部断点来实现步进式操作, 在完成步进式操作后,主动内部断点。 在执行步骤式操作之后,在执行代码的一个或多个其他操作并被认为不必要完成其他操作时遇到的任何活动内部断点被禁用,并且在执行期间禁用任何内部断点的位置 在数据结构中跟踪一个或多个其他操作,以便随后用于重新建立用于实现另一步骤类型操作的所需内部断点。

    Establishing cloud debug breakpoints assigned to users
    102.
    发明授权
    Establishing cloud debug breakpoints assigned to users 有权
    建立分配给用户的云调试断点

    公开(公告)号:US08819640B2

    公开(公告)日:2014-08-26

    申请号:US13556262

    申请日:2012-07-24

    IPC分类号: G06F9/44 G06F11/36

    CPC分类号: G06F11/362 G06F11/3636

    摘要: In an embodiment, a cloud debug breakpoint, assigned to a first user, is established in a program at a first server in a cloud, wherein the first user selects the first server at which the program executes, from among servers in the cloud. The program at the servers in the cloud is executed, in response to requests from users. The program at the first server in the cloud is executed, in response to all requests from the first user to the program. If an identifier of a user that sent a request that the program was executing at a time that execution of the program at the first server reaches the cloud debug breakpoint matches an identifier of the first user assigned to the cloud debug breakpoint, the execution of the program is halted and control of a processor is given to a debugger.

    摘要翻译: 在一个实施例中,分配给第一用户的云调试断点在云中的第一服务器的程序中建立,其中第一用户从云中的服务器中选择程序执行的第一服务器。 响应于用户的请求,执行云中的服务器上的程序。 响应于从第一个用户到程序的所有请求,执行云中第一个服务器上的程序。 如果在执行第一服务器处的程序到达云调试断点的时间发送程序正在执行的请求的用户的标识符与分配给云调试断点的第一用户的标识匹配,则执行 程序停止,处理器的控制被提供给调试器。

    Collaborative software debugging in a distributed system with variable-specific messages
    103.
    发明授权
    Collaborative software debugging in a distributed system with variable-specific messages 有权
    在具有变量特定消息的分布式系统中进行协作软件调试

    公开(公告)号:US08806438B2

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

    申请号:US13090494

    申请日:2011-04-20

    申请人: Cary L. Bates

    发明人: Cary L. Bates

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3664 G06F11/362

    摘要: In a distributed system that includes a debug server and debug clients coupled for communications through a data communications network, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes: receiving application-level messages, including receiving, from a requesting debug client, a request to establish a variable-specific message for a particular variable; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including establishing the variable-specific message; and returning, to the debug clients, client-specific debug results, including: responsive to each request by a variable evaluating debug client to evaluate a variable and if a variable-specific message has been established for the variable to be evaluated, returning the content of the variable-specific message to be displayed in association with the variable in the variable evaluating debug client's client-specific GUI along with the evaluation of the variable.

    摘要翻译: 在包括调试服务器和调试客户端的分布式系统中,通过数据通信网络进行通信,调试服务器包括调试管理员,消息路由器,后端调试器和调试器,协同软件调试包括:接收 应用级消息,包括从请求的调试客户端接收为特定变量建立变量特定消息的请求; 在调试客户端,调试管理员和后端调试器之间路由应用级消息,包括建立变量特定消息; 并向调试客户端返回客户端特定的调试结果,包括:响应每个请求,通过变量评估调试客户端来评估变量,并且如果为要评估的变量已经建立了特定于变量的消息,则返回内容 与变量评估调试客户端的客户端特定GUI中的变量相关联地显示的变量特定消息以及变量的评估。

    Event management in a non-stop debugging environment
    104.
    发明授权
    Event management in a non-stop debugging environment 失效
    事件管理在不间断的调试环境中

    公开(公告)号:US08762954B2

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

    申请号:US13028269

    申请日:2011-02-16

    申请人: Cary L. Bates

    发明人: Cary L. Bates

    IPC分类号: G06F9/44 G06F11/00

    CPC分类号: G06F9/544 G06F11/3632

    摘要: Event management in a non-stop debugging environment that includes a debugger configured to debug a debuggee, the debuggee including a number of threads of execution, where encountering an event by one of threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: encountering, by a first thread, an event that stops execution of the first thread; while execution of the first thread is stopped, encountering, by each of one or more other threads, an event stopping execution of the other thread; queuing, by the debugger, the events stopping execution of the other threads; receiving, by the debugger from a user, an indication to flush one or more events from the queue; and flushing, by the debugger, the one or more events from the queue.

    摘要翻译: 事件管理在一个不间断的调试环境中,包括一个配置为调试调试器的调试器,调试器包括一些执行线程,其中一个线程遇到事件会停止只执行一个线程,而不会同时停止执行其他线程 线程和事件管理包括:通过第一个线程遇到停止执行第一个线程的事件; 当第一线程的执行停止时,由一个或多个其他线程中的每一个遇到停止其他线程的执行的事件; 通过调试器排队停止执行其他线程的事件; 由调试器从用户接收从队列中刷新一个或多个事件的指示; 并由调试器从队列中刷新一个或多个事件。

    Recovering from a thread hang
    105.
    发明授权
    Recovering from a thread hang 失效
    从线程中恢复挂起

    公开(公告)号:US08762776B2

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

    申请号:US13344124

    申请日:2012-01-05

    IPC分类号: G06F11/00

    摘要: A method, computer-readable storage medium, and computer system are provided. In an embodiment, a detection is made that at least one thread, in a plurality of threads executing in a computer, has hung. A lock order of a plurality of locks used by the plurality of threads is determined. A determination is made that a first thread in the plurality of threads violates the lock order. After the determination that the first thread violates the lock order, the computer is restarted and the first thread that violates the lock order is scheduled on a reduced-speed processor.

    摘要翻译: 提供了一种方法,计算机可读存储介质和计算机系统。 在一个实施例中,检测到在计算机中执行的多个线程中的至少一个线程已经挂起。 确定由多个线程使用的多个锁的锁定顺序。 确定多个线程中的第一线程违反锁定顺序。 在确定第一个线程违反锁定顺序之后,计算机重新启动,违反锁定顺序的第一个线程被调度在降速处理器上。

    Event management in a non-stop debugging environment

    公开(公告)号:US08701093B2

    公开(公告)日:2014-04-15

    申请号:US13085628

    申请日:2011-04-13

    申请人: Cary L. Bates

    发明人: Cary L. Bates

    IPC分类号: G06F9/44 G06F11/00

    摘要: Event management in a non-stop debugging environment that includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: receiving, by the debugger, a user request to establish a dynamically disabled event that is disabled for all threads upon a stop in execution of any thread; establishing, by the debugger, the dynamically disabled event; identifying, by the debugger, a stop in execution of a particular thread; and disabling, by the debugger, the dynamically disabled event for all threads of the debuggee.

    DETERMINING SNAPSHOT PLACEMENT
    108.
    发明申请
    DETERMINING SNAPSHOT PLACEMENT 有权
    确定SNAPSHOT放置

    公开(公告)号:US20140007058A1

    公开(公告)日:2014-01-02

    申请号:US13536643

    申请日:2012-06-28

    IPC分类号: G06F11/36

    CPC分类号: G06F11/3624

    摘要: Embodiments of the invention include a method for setting snapshots in code. The method may occur during the debug of code and may include determining whether to place a snapshot instruction immediately before a machine instruction within a module. The determination may include analyzing parameters associated with the machine instruction.

    摘要翻译: 本发明的实施例包括用于设置代码中的快照的方法。 该方法可以在代码调试期间发生,并且可以包括确定是否在模块内的机器指令之前立即放置快照指令。 该确定可以包括分析与机器指令相关联的参数。

    Resuming a prior debug session
    109.
    发明授权
    Resuming a prior debug session 失效
    恢复先前的调试会话

    公开(公告)号:US08566799B2

    公开(公告)日:2013-10-22

    申请号:US13183716

    申请日:2011-07-15

    申请人: Cary L. Bates

    发明人: Cary L. Bates

    IPC分类号: G06F9/44

    摘要: Inserting, at debuggee source code lines, a breakpoint and executing. For each breakpoint encounter until exiting: encountering and removing the breakpoint, incrementing a first counter value, and resuming execution. Exiting includes saving the first counter value, a state of the call stack, and an exit location. In a second debug session, preparing the debuggee to resume from the exit location. Inserting, at the debuggee source code lines, a breakpoint and executing the debuggee. For each breakpoint encounter until a second counter value matches the first: encountering and removing the breakpoint, incrementing the second counter value, and resuming execution. When the first and second counter values match: inserting an exit location breakpoint at the exit location, executing the debuggee until encountering the exit location breakpoint, and providing the user control to resume debugging from the exit location only if the present state of the call stack matches the saved state.

    摘要翻译: 在debuggee源代码行插入一个断点并执行。 对于每个断点遇到直到退出:遇到和删除断点,增加第一个计数器值,并恢复执行。 退出包括保存第一计数器值,调用堆栈的状态和退出位置。 在第二个调试会话中,准备调试程序从退出位置恢复。 在debuggee源代码行插入断点并执行调试器。 对于每个断点遇到,直到第二个计数器值匹配第一个:遇到和删除断点,递增第二个计数器值,并恢复执行。 当第一和第二计数器值相匹配时:在退出位置处插入出口位置断点,执行调试器直到遇到出口位置断点,并且仅在调用堆栈的当前状态提供用户控制才能从退出位置恢复调试 匹配保存的状态。

    RECOVERING FROM A THREAD HANG
    110.
    发明申请
    RECOVERING FROM A THREAD HANG 失效
    从螺旋线恢复

    公开(公告)号:US20130179731A1

    公开(公告)日:2013-07-11

    申请号:US13344124

    申请日:2012-01-05

    IPC分类号: G06F11/14

    摘要: A method, computer-readable storage medium, and computer system are provided. In an embodiment, a detection is made that at least one thread, in a plurality of threads executing in a computer, has hung. A lock order of a plurality of locks used by the plurality of threads is determined. A determination is made that a first thread in the plurality of threads violates the lock order. After the determination that the first thread violates the lock order, the computer is restarted and the first thread that violates the lock order is scheduled on a reduced-speed processor.

    摘要翻译: 提供了一种方法,计算机可读存储介质和计算机系统。 在一个实施例中,检测到在计算机中执行的多个线程中的至少一个线程已经挂起。 确定由多个线程使用的多个锁的锁定顺序。 确定多个线程中的第一线程违反锁定顺序。 在确定第一个线程违反锁定顺序之后,计算机重新启动,违反锁定顺序的第一个线程被调度在降速处理器上。