Debugging analysis in running multi-user systems
US-9183113-B2 · Nov 10, 2015 · US
US9514026B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9514026-B2 |
| Application number | US-201514858280-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 18, 2015 |
| Priority date | Sep 29, 2011 |
| Publication date | Dec 6, 2016 |
| Grant date | Dec 6, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Various arrangements for debugging logic being executed by a webserver is presented. A virtual machine of the webserver may execute runtime threads for a plurality of remote users. The web server may compile business logic code received from a developer computer system via a web-based interface into an logic insight injected code. The logic insight injected code may be compiled from the business logic code to include debugging functionality. The virtual machine of the webserver may execute the logic insight injected code concurrently with the runtime threads being executed for the plurality of remote users. The debugging functionality of the logic insight injected code being executed may not affect execution of the runtime threads for the plurality of users.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: executing, by a first virtual machine of a web server system, a runtime thread for a remote user in a runtime mode, wherein the virtual machine is operated in the runtime mode, the runtime mode being distinct from a debugging mode of the first virtual machine; compiling, by the web server system, a business logic code into a logic insight injected code, wherein: the logic insight injected code is compiled from the business logic code to include a debugging functionality and to execute as a logic insight thread in the runtime mode; executing, by the first virtual machine of the web server system, the logic insight injected code as the logic insight thread concurrently with the runtime thread being executed for the remote user in the runtime mode; wherein the debugging functionality of the logic insight injected code being executed does not affect execution of the runtime thread being executed for the remote user; and executing, by the web server system, a second virtual machine linked with a debugging session executing on a remote computer system, wherein the second virtual machine communicates with the first virtual machine and functions as an intermediary between the remote computer system and the logic insight thread being executed by the first virtual machine. 2. The method of claim 1 , wherein compiling the business logic code into the logic insight injected code comprises: identifying a plurality of expressions in the business logic code; parsing the business logic code to create a syntax tree. modifying the syntax tree to include the debugging functionality; and following modifying the syntax tree, compiling the modified syntax tree into the logic insight injected code. 3. The method of claim 2 , wherein the debugging functionality of the logic insight injected code includes: during execution, halting execution and waiting for input from the remote computer system that indicates to proceed with execution after one or more expressions from the plurality of expressions. 4. The method of claim 3 , wherein the halting execution is in response to a breakpoint received from the remote computer system. 5. The method of claim 1 , wherein the runtime thread for the remote user in the runtime mode is a plurality of runtime threads for a plurality of remote users in the runtime mode, and further comprising: executing, by the first virtual machine, a plurality of logic insight threads associated with a plurality of logic insight injected codes concurrently being executed with the plurality of runtime threads for the plurality of remote users, wherein the plurality of logic insight injected codes include the logic insight injected code. 6. The method of claim 2 , wherein the debugging functionality of the logic insight injected code includes: halting, by the first virtual machine, execution of the logic insight thread after a first expression from the plurality of expressions, wherein halting the execution of the logic insight thread does not affect execution of the runtime thread for the remote user; sending, from the first virtual machine to the second virtual machine, an indication that indicates the first expression has finished executing; sending, from the second virtual machine to the remote computer system, the indication; receiving, by the second virtual machine, input that indicates to proceed with execution after halting; sending, from the second virtual machine to the first virtual machine, the input; and executing, by the first virtual machine, the logic insight thread until after a second expression from the plurality of expressions. 7. A web server system, comprising: one or more processors; and a memory communicatively coupled with and readable by the one or more processors and having stored therein processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to: execute, by a first virtual machine, a runtime thread for a remote user in a runtime mode, wherein the first virtual machine is operated in a runtime mode, the runtime mode being distinct from a debugging mode of the first virtual machine; compile business logic code into a logic insight injected code, wherein: the logic insight injected code is compiled from the business logic code to include debugging functionality and to execute as a logic insight thread in the runtime mode; execute, by the first virtual machine, the logic insight injected code as the logic insight thread concurrently with the runtime thread being executed for the remote user in the runtime mode; execute a second virtual machine linked with a debugging session executing on a remote computer system, wherein the second virtual machine communicates with the first virtual machine and functions as an intermediary between the remote computer system and logic insight thread being executed by the first virtual machine. 8. The web server system of claim 7 , wherein the processor readable instructions configured to compile the business logic code into the logic insight injected code comprise instructions which, when executed by the one or more processors, cause the one or more processors to: identify a plurality of expressions in the business logic code; parse the business logic code to create a syntax tree. modify the syntax tree to include the debugging functionality; and following modifying the syntax tree, compile the modified syntax tree into the logic insight injected code. 9. The web server system of claim 8 , wherein the debugging functionality of the logic insight injected code comprises processor-readable instructions that, when executed, cause the one or more processors to: during execution, halt execution and wait for input from the remote computer system that indicates to proceed with execution after one or more expressions from the plurality of expressions. 10. The web server system of claim 9 , wherein the halting execution is in response to a breakpoint received from the remote computer system. 11. The web server system of claim 7 , wherein the runtime thread for the remote user in the runtime mode is a plurality of runtime threads for a plurality of remote users in the runtime mode, and wherein the processor-readable instructions, when executed, further cause the one or more processors to: execute, by the first virtual machine, a plurality of logic insight threads associated with a plurality of logic insight injected codes concurrently being executed with the plurality of runtime threads for the plurality of remote users, wherein the plurality of logic insight injected codes include the logic insight injected code. 12. The web server system of claim 8 , wherein the debugging functionality comprises processor-readable instructions that, when executed, further cause the one or more processors to: halt, by the first virtual machine, execution of the logic insight thread after a first expression from the plurality of expressions, wherein halting the execution of the logic insight thread does not affect execution of the runtime thread for the remote user; send, from the first virtual machine to the second virtual machine, an indication that indicates the first expression has finished executing; send, from the second virtual machine to the remote computer system, the indication; receive, by the second virtual machine, input that indicates to proceed with execution after halting; send, from the second virtual machine to the first virtual machine, the input; and execute, by the first virtual machine, the logic insight thread until after a second expression from the plurality of expressions.
Debugging of software · CPC title
in-circuit-emulation [ICE] arrangements · CPC title
Prevention of errors by analysis, debugging or testing of software · CPC title
Monitoring or debugging support · CPC title
by runtime analysis (performance monitoring G06F11/3466) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.