Method and apparatus for debugging applications in development environments

US9405658B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9405658-B1
Application numberUS-12750308-A
CountryUS
Kind codeB1
Filing dateMay 27, 2008
Priority dateMay 27, 2008
Publication dateAug 2, 2016
Grant dateAug 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for debugging applications in a development environment. The method may include terminating a thread when a breakpoint is encountered when debugging an application. The method may also include saving input and outputs from an external server invocation.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations for debugging an application comprising: invoking by one or more computing devices, a first thread to execute an application currently being debugged by a debugger, the application including at least one breakpoint; invoking an external service during execution of the application being debugged by the debugger, the external service including functions remotely located from the application and the debugger, wherein at least one function of the functions returns output to at least one variable of the application; terminating, using at least one processor, the first thread at the at least one breakpoint; releasing the first thread to a pool of threads at the at least one breakpoint; recording information comprising a state of the at least one variable, external invocation information corresponding to the invocation of the external service, and an identification of at least one scoped variable upon termination of the first thread; and based on the state of the at least one variable, invoking a second thread of the pool of threads to re-execute the application, wherein any new external services encountered during the re-execution of the application are ignored and wherein the re-execution proceeds using the external invocation information. 2. The medium of claim 1 further comprising determining whether execution results of the application should be simulated based on the recorded information. 3. The medium of claim 1 wherein the external service is a remote server. 4. The medium of claim 1 further comprising sending the external invocation information to a client. 5. The medium of claim 1 further comprising invoking a third thread to execute the application using the recorded information upon termination of the first thread. 6. The medium of claim 1 further comprising requesting a termination at the first breakpoint after arriving at a second breakpoint. 7. The medium of claim 1 , wherein invoking the external service comprises invoking code that is located remotely from the application and wherein the external invocation information comprises at least one of input information corresponding to the external service and output information corresponding to the external service. 8. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations for debugging a service in a hosted development environment comprising: receiving input from a client; sending the input from a client to a server including a service currently being debugged by a debugger; executing the service using a thread; invoking an external service during execution of the service being debugged by the debugger, the external service including functions remotely located from the service and the debugger, wherein at least one function of the functions returns output to at least one variable of the service; terminating the service at, at least one breakpoint; releasing the first thread to a pool of threads at the at least one breakpoint; storing information generated by the service, the information comprising at least a first state of the at least one variable, external invocation information corresponding to the invocation of the external service, and an identification of at least one scoped variable; and based on the state of the at least one variable, invoking a second thread of the pool of threads to re-execute the application, wherein any new external services encountered during the re-execution of the application are ignored, and wherein the re-execution proceeds using the external invocation information. 9. The medium of claim 8 wherein the input further comprises a request that a simulation mode be used. 10. The medium of claim 8 further comprising sending the external invocation information to the client. 11. The medium of claim 8 the operations further comprising requesting termination of the service at the at least one breakpoint. 12. A system for debugging a service in a development environment comprising: a first computing device configured to send input to a second computing device; the second computing device including a service configured to execute using a first thread for the purpose of debugging the service using a debugger, wherein an external service is invoked during the execution of the service being debugged by the debugger, the external service including functions remotely located from the service and the debugger, wherein at least one function of the functions returns output to at least one variable of the service and wherein the first thread is terminated prior to completion of the service execution and wherein the first thread is released to a pool of threads at at least one breakpoint; and a data storage device operative to store information generated by the service during operation of the thread, the information comprising at least a first state of the at least one variable, external invocation information corresponding to the invocation of the external service, and an identification of at least one scoped variable, and wherein the stored information is used to resume debugging of the service; and at least one device in the system, based on the state of the at least one variable, invoking a second thread of the pool of threads to re-execute the application, wherein any new external services encountered during the re-execution of the application are ignored and wherein the re-execution proceeds using the external invocation information. 13. The system of claim 12 wherein the thread is terminated at the at least one breakpoint.

Assignees

Inventors

Classifications

  • Environments for analysis, debugging or testing of software · CPC title

  • G06F11/362Primary

    Debugging of software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9405658B1 cover?
A method for debugging applications in a development environment. The method may include terminating a thread when a breakpoint is encountered when debugging an application. The method may also include saving input and outputs from an external server invocation.
Who is the assignee on this patent?
Webster Christopher B, Fast Todd A, Kopsa Jiri, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F11/362. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).