IP Library Granted Patent US 10,169,193
Granted Patent B2
US 10,169,193 · App. 15/376,999 · Granted Jan 1, 2019

Common debug scripting framework for driving hybrid applications consisting of compiled languages and interpreted languages

Inventors: Yingcong Guan (Richmond Hill, CA); John R. MacMillan (Toronto, CA); Ettore Tiotto (Markham, CA); Trong Truong (Markham, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/362G06F11/3664
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,169,193
App. No.
15/376,999
Granted
Jan 1, 2019
Kind
B2
Abstract

Aspects of the present invention include a method which includes a processor providing a debug extension library; providing a common debug interface and at least two common debug interface implementations, a first one of the common debug interface implementations being dedicated to a native debugger of an interpreted language computer program, a second one of the common debug interface implementations being dedicated to a native debugger of a compiled language computer program, wherein an application contains a first portion written in an interpreted programming language and a second portion written in a compiled programming language; and responding to a user command provided through a debug script program to debug the application by commanding one of the native debugger of an interpreted language computer program or the native debugger of a compiled language computer program through the corresponding dedicated common debug interface implementation.

Claims (28)

1. A computer-implemented method comprising:

providing, by a processor, a debug extension library on top of a programming language interpreter;

providing, by the processor, a common debug interface as part of the debug extension library;

providing, by the processor, at least two debug interface implementations as part of the common debug interface, a first one of the at least two debug interface implementations being dedicated to a native debugger of an interpreted language computer program and a second one of the at least two debug interface implementations being dedicated to a native debugger of a compiled language computer program, wherein an application contains a first portion written in an interpreted programming language and a second portion written in a compiled programming language; and

responding, by the processor, to a user command provided through a debug script program to debug the application by commanding one of the native debugger of an interpreted language computer program or the native debugger of a compiled language computer program through the corresponding dedicated debug interface implementation, wherein the debug script program is a single script program,

wherein the common debug interface contains a plurality of features abstracted from the native debugger of the interpreted language computer program and from the native debugger of the compiled language computer program, and wherein the plurality of abstracted features are common to both the native debugger of the interpreted language computer program and from the native debugger of the compiled language computer program, the plurality of abstracted common features include launching, breakpoint, stepping, terminate/resume/suspend, variable inspection, expression evaluation, and stack frame source location.

2. The computer-implemented method of claim 1 wherein the interpreted language computer program comprises Java.

3. The computer-implemented method of claim 1 wherein the compiled language computer program comprises one of C, C++ or COBOL.

4. The computer-implemented method of claim 1 wherein when a predetermined debug event occurs, one of the at least two debug interface implementations calls a handler function.

5. A system comprising:

a processor in communication with one or more types of memory, the processor configured to:

provide a debug extension library on top of a programming language interpreter;

provide a common debug interface as part of the debug extension library;

provide at least two debug interface implementations as part of the common debug interface, a first one of the at least two debug interface implementations being dedicated to a native debugger of an interpreted language computer program and a second one of the at least two debug interface implementations being dedicated to a native debugger of a compiled language computer program, wherein an application contains a first portion written in an interpreted programming language and a second portion written in a compiled programming language; and

respond to a user command provided through a debug script program to debug the application by commanding one of the native debugger of an interpreted language computer program or the native debugger of a compiled language computer program through the corresponding dedicated debug interface implementation, wherein the debug script program is a single script program,

wherein the common debug interface contains a plurality of features abstracted from the native debugger of the interpreted language computer program and from the native debugger of the compiled language computer program, and wherein the plurality of abstracted features are common to both the native debugger of the interpreted language computer program and from the native debugger of the compiled language computer program, the plurality of abstracted common features include launching, breakpoint, stepping, terminate/resume/suspend, variable inspection, expression evaluation, and stack frame source location.

6. The system of claim 5 wherein the interpreted language computer program comprises Java.

7. The system of claim 5 wherein the compiled language computer program comprises one of C, C++ or COBOL.

8. The system of claim 5 wherein when a predetermined debug event occurs, one of the at least two debug interface implementations calls a handler function.

9. A computer program product comprising:

a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

providing a debug extension library on top of a programming language interpreter;

providing a common debug interface as part of the debug extension library;

providing at least two debug interface implementations as part of the common debug interface, a first one of the at least two debug interface implementations being dedicated to a native debugger of an interpreted language computer program and a second one of the at least two debug interface implementations being dedicated to a native debugger of a compiled language computer program, wherein an application contains a first portion written in an interpreted programming language and a second portion written in a compiled programming language; and

responding to a user command provided through a debug script program to debug the application by commanding one of the native debugger of an interpreted language computer program or the native debugger of a compiled language computer program through the corresponding dedicated debug interface implementation, wherein the debug script program is a single script program,

wherein the common debug interface contains a plurality of features abstracted from the native debugger of the interpreted language computer program and from the native debugger of the compiled language computer program, and wherein the plurality of abstracted features are common to both the native debugger of the interpreted language computer program and from the native debugger of the compiled language computer program, the plurality of abstracted common features include launching, breakpoint, stepping, terminate/resume/suspend, variable inspection, expression evaluation, and stack frame source location.

10. The computer program product of claim 9 wherein the interpreted language computer program comprises Java, and wherein the compiled language computer program comprises one of C, C++ or COBOL.

11. The computer program product of claim 9 wherein when a predetermined debug event occurs, one of the at least two debug interface implementations calls a handler function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2016
From: GUAN, YINGCONG; MACMILLAN, JOHN R.; TIOTTO, ETTORE; TRUONG, TRONG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040723/0032 →
Continuity (1)
Related Publication 20180165175A1 · Jun 14, 2018