Debugger and method for debugging computer programs across multiple programming languages
First Claim
1. A debugger for debugging a computer program across multiple programming languages, wherein the debugging is performed on .Net®
- platform source code of the computer program, while the computer program is executed within a Java runtime environment, the debugger comprising;
an integrated development environment (IDE) interface capable of interfacing with at least one IDE tool for the purpose of receiving a plurality of debugging commands, each having at least one parameter;
a debug engine capable of determining a current breakpoint location in said source code;
a Java debugger interface (JDI) capable of communicating with at least one Java debugger;
a convert engine capable of converting said parameters of each of said debugging commands from a .Net®
compliant format to a Java compliant format, said convert engine being further capable of converting said debugging commands from said Java compliant format in Java source code to said .Net®
compliant format;
an expression evaluator capable of at least parsing said parameters; and
a debug information repository at least comprising debug information, wherein said convert engine implements at least a conversion algorithm designed to bridge the semantic differences between .Net®
programming languages and Java programming language and wherein the debugging is performed at a source level of the computer program written in any programming language supported by the .Net platform.
2 Assignments
0 Petitions
Accused Products
Abstract
A debugger and method for debugging computer programs across multiple programming languages are provided. The debugging is performed at a source level of a computer program written in any programming language supported by the .Net® platform, while the program is executed over a Java runtime environment. The debugger disclosed provides a call stack display and an expression evaluator. Furthermore, the debugger allows software developers to step through Java source code and follow the execution flow of the Java program. One exemplary embodiment of the disclosed debugger is an extension of the Microsoft® Visual Studio .Net®.
88 Citations
103 Claims
-
1. A debugger for debugging a computer program across multiple programming languages, wherein the debugging is performed on .Net®
- platform source code of the computer program, while the computer program is executed within a Java runtime environment, the debugger comprising;
an integrated development environment (IDE) interface capable of interfacing with at least one IDE tool for the purpose of receiving a plurality of debugging commands, each having at least one parameter;
a debug engine capable of determining a current breakpoint location in said source code;
a Java debugger interface (JDI) capable of communicating with at least one Java debugger;
a convert engine capable of converting said parameters of each of said debugging commands from a .Net®
compliant format to a Java compliant format, said convert engine being further capable of converting said debugging commands from said Java compliant format in Java source code to said .Net®
compliant format;
an expression evaluator capable of at least parsing said parameters; and
a debug information repository at least comprising debug information, wherein said convert engine implements at least a conversion algorithm designed to bridge the semantic differences between .Net®
programming languages and Java programming language and wherein the debugging is performed at a source level of the computer program written in any programming language supported by the .Net platform. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
- platform source code of the computer program, while the computer program is executed within a Java runtime environment, the debugger comprising;
-
25. A method for debugging a computer program across multiple programming languages, wherein the debugging is performed on .Net®
- platform source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
providing an integrated development environment (IDE) interface capable of interfacing with at least one IDE tool for the purpose of receiving a plurality of debugging commands, each having at least one parameter;
providing a debug engine capable of determining a current breakpoint location in the source code;
providing a Java debugger interface (JDI) capable of communicating with at least one Java debugger;
providing a convert engine capable of converting said parameters of each of said debugging commands from a .Net®
compliant format to a Java compliant format, said convert engine being further capable of converting said debugging commands from said Java compliant format in Java source code to said .Net®
compliant format;
providing an expression evaluator capable of at least parsing said parameters; and
,providing a debug information repository at least comprising debug information, receiving a debugging command in a .Net®
compliant format from an integrated development environment (IDE) tool;
converting the parameters of said plurality of debugging commands from said .Net®
compliant format to Java compliant format;
performing said debugging command with the converted parameters using a Java debugger and a Java runtime environment;
converting the debugging results returned by said Java debugger from said Java source code to .Net®
source code; and
, returning the converted debugging results to said IDE tool, wherein the debugging is performed at a source level of the computer program written in any programming language supported by the .Net®
platform. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
- platform source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
-
56. A computer program product method, including computer-readable media with instructions to enable a computer to implement a process for debugging a computer program across multiple programming languages, wherein the debugging is performed on .Net®
- platform source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
providing an integrated development environment (IDE) interface capable of interfacing with at least one IDE tool for the purpose of receiving a plurality of debugging commands, each having at least one parameter;
providing a debug engine capable of determining a current breakpoint location in the source code;
providing a Java debugger interface (JDI) capable of communicating with at least one Java debugger;
providing a convert engine capable of converting said parameters of each of said debugging commands from a .Net®
compliant format to a Java compliant format, said convert engine being further capable of converting said debugging commands from said Java compliant format in Java source code to said .Net®
compliant format;
providing an expression evaluator capable of at least parsing said parameters;
providing a debug information repository at least comprising debug information;
receiving a debugging command in a .Net®
compliant format from an integrated development environment (IDE) tool;
converting the parameters of said plurality of debugging commands from said .Net®
compliant format to Java compliant format;
performing said debugging command with the converted parameters using a Java debugger and a Java runtime environment;
converting the debugging results returned by said Java debugger from said Java source code to .Net®
source code; and
returning the converted debugging results to said IDE tool, wherein the debugging is performed at a source level of the computer program written in any programming language supported by the .Net®
platform. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
- platform source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
-
86. A method for evaluating an expression when debugging a computer program across multiple programming languages, wherein the debugging is performed on .Net®
- source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
providing an integrated development environment (IDE) interface capable of interfacing with at least one IDE tool for the purpose of receiving a plurality of debugging commands, each having at least one parameter;
providing a debug engine capable of determining a current breakpoint location in the source code;
providing a Java debugger interface (JDI) capable of communicating with at least one Java debugger;
providing a convert engine capable of converting said parameters of each of said debugging commands from a .Net®
compliant format to a Java compliant format, said convert engine being further capable of converting said debugging commands from said Java compliant format in Java source code to said .Net®
compliant format;
providing an expression evaluator capable of at least parsing said parameters; and
,providing a debug information repository at least comprising debug information, receiving at least a .Net®
expression to be evaluated from an integrated development environment (IDE) tool;
determining a current break location in a .Net®
source code;
parsing said .Net®
expression into at least one atomic element;
generating a tree representation from said atomic elements;
determining the data type of each of said at least one atomic elements;
traversing said tree representation for the purpose of determining the data type of said .Net®
expression;
converting each atomic element to a format compliant with said at least one Java debugger;
constructing a Java expression from said atomic elements converted to a Java compliant format; and
,evaluating said Java expression using said at least one Java debugger and a Java runtime environment to provide evaluation results. - View Dependent Claims (87, 88, 89, 90, 91, 92, 93, 94)
- source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
-
95. A computer program product method, including computer-readable media with instructions to enable a computer to implement a process for evaluating at least an expression when debugging a computer program across multiple programming languages, wherein the debugging is performed on .Net®
- source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
providing an integrated development environment (IDE) interface capable of interfacing with at least one IDE tool for the purpose of receiving a plurality of debugging commands, each having at least one parameter;
providing a debug engine capable of determining a current breakpoint location in the source code;
providing a Java debugger interface (JDI) capable of communicating with at least one Java debugger;
providing a convert engine capable of converting said parameters of each of said debugging commands from a .Net®
compliant format to a Java compliant format, said convert engine being further capable of converting said debugging commands from said Java compliant format in Java source code to said .Net®
compliant format;
providing an expression evaluator capable of at least parsing said parameters;
providing a debug information repository at least comprising debug information;
receiving from an integrated development environment (IDE) tool at least a .Net®
expression to be evaluated;
determining current break location in the .Net®
source code;
parsing said .Net®
expression into atomic elements;
generating a tree representation from said atomic elements;
determining the data type of each of said atomic elements;
traversing said tree representation for the purpose of determining the data type of said .Net®
expression;
converting each of said atomic elements to a format compliant with a Java debugger;
constructing a Java expression from said converted atomic elements to a Java compliant format; and
evaluating said Java expression using a Java debugger and a Java runtime environment to provide evaluation results. - View Dependent Claims (96, 97, 98, 99, 100, 101, 102, 103)
- source code of the computer program, while the computer program is executing within a Java runtime environment, said method comprising;
Specification