发明名称 State machine control of a debugger
摘要 A debugger utilizes a finite state machine to control when execution of a software application is suspended. The finite state machine uses breakpoints as transitions that move the finite state machine from a start state to an acceptance state. The debugger tracks when breakpoints used in the finite state machine occur. When the finite state machine reaches an acceptance state, the debugger suspends execution of the software application to allow a developer to observe and/or alter the program state or software application. The finite state machine may be generated by a developer as a graph or as a regular expression that is then converted into a finite state machine. In this manner, a developer may specify more complex conditions upon which to suspend execution of a debugger.
申请公布号 US9110682(B2) 申请公布日期 2015.08.18
申请号 US201213655480 申请日期 2012.10.19
申请人 MICROSOFT TECHNOLOGY LICENSING LLC 发明人 Cao Shiqi
分类号 G06F11/36;G06F11/28;G06F9/44 主分类号 G06F11/36
代理机构 代理人 Sullivan Kevin;Drakos Kate;Minhas Micky
主权项 1. A computer-implemented method for debugging a software application, the computer-implemented method comprising the steps of: receiving a set of breakpoints, the set of breakpoints part of a finite state machine (FSM), the FSM having a set of states, the set of states including a start state and at least one acceptance state, each state connected to another state by at least one of the set of breakpoints, a state transitions to another state upon occurrence of a connected breakpoint; tracking during execution of the software application when each breakpoint occurs; notifying the FSM when each breakpoint occurs; receiving from the FSM notification that a first acceptance state has been reached, the first acceptance state representing occurrences of one or more breakpoints that transition the FSM from the start state to the first acceptance state; suspending execution of the software application when the FSM reaches the acceptance state; and performing debugging operations while execution of the software application is suspended.
地址 Redmond WA US