US20080263520A1 - Method for visually indicating preceding and succeeding source code lines that are executed in a graphical debugging environment - Google Patents
Method for visually indicating preceding and succeeding source code lines that are executed in a graphical debugging environment Download PDFInfo
- Publication number
- US20080263520A1 US20080263520A1 US11/737,365 US73736507A US2008263520A1 US 20080263520 A1 US20080263520 A1 US 20080263520A1 US 73736507 A US73736507 A US 73736507A US 2008263520 A1 US2008263520 A1 US 2008263520A1
- Authority
- US
- United States
- Prior art keywords
- source code
- examined
- line
- displaying
- previously
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Definitions
- This invention relates to the program debugging, and particularly to the implementation of visual indicators for source codes lines that are displayed within a graphical program-debugging environment.
- debuggers have also been configured to execute a program step-by-step, thus allowing a developer to view each line of source code, in addition to ascertaining a current state, of a program as it is executed.
- the displayed source code lines may be re-ordered to reflect the reorganization of the underlying assembly instructions of the source code. Therefore, while debugging optimized computer source code, many developers frequently are confused when graphical indicators that point to a currently executed source code line displayed by the debugger jump in an indiscriminate manner among the lines of source code. For example, confusion occurs when a developer instructs the debugger to step forward one line, but due to the re-ordering of the instructions, the graphical indicator pointing to a current source code line steps backwards one or more lines, or conversely, skips forward more than one line.
- the shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method for the visually displaying an indicator for preceding and succeeding source code lines being executed within a graphical debugging environment.
- the method comprising displaying within a GUI source code lines for a segment of currently examined source code, displaying a visual indicator that is associated with a presently examined source code line, and determining a previously examined source code line, wherein the location of the previously examined line of source code is determined by the use of information that is associated with the previously examined line of source code.
- the method further comprises displaying a visual indicator that is associated with the previously examined line of source code, determining a next source code line that is to be examined, and displaying a visual indicator that is associated with the next source code line that is to be examined.
- FIG. 1 illustrates one example of a screen shot of a GUI interface wherein the preceding and succeeding source code line are highlighted with graphical indicators.
- FIG. 2 illustrates one example of a flow diagram detailing aspects of a methodology for the indication of preceding and succeeding source code lines that are executed within embodiments of the present invention.
- the computer system as operated by a system user can embody a conventional personal computer system on which an application that is configured to accomplish the objectives of aspects of the present invention is operating.
- the computer system also includes other hardware and software elements that are conventionally included in personal computer systems.
- a visual cue is displayed in a GUI that is displaying the currently executed code lines of currently executed source code.
- the present invention provides a visual cue, wherein the visual cue can highlight a currently executed source code line, a previously executed source code line, and a succeeding (next) source code line that is to be executed.
- the present invention accomplishes these inventive aspects by examining the current program debugging information that has been compiled by the debugging program and associated with the inspected program. By examining a program's debugging information, a determination can be made as to where the next line of source code instruction will be located, and subsequently a visual indicator can be associated with the next line of source code.
- each line of source code is comprised of one or more assembly language instructions.
- lines of source code can be re-ordered during the compilation phase of the optimization.
- the program debug information that a compiler accumulates associates each line of assembly instruction with a line of source code. This information is subsequently used to generate visual cues, the visual cues indicating to a viewer what line of source code is currently being executed in a program debugging procedure. Additionally, this same compiled debugging information can be used to generate visual cues that indicate what lines of source code have been previously viewed/executed and what source code line will be the next executed line of source code.
- the debugger in order to track the locations of past executed source code lines, implements a one-entry buffer.
- the one-entry buffer contains the source code line of the last source code line instruction that was executed. Further, the debugger always identifies the current source code line that is being executed. The determination of a next source code line that is to be executed requires that the debugger evaluate and determine the upcoming instruction sequence. This aspect is possible because the debugger has already identified the currently executed source code line.
- FIG. 1 is screen shot 100 of a GUI interface wherein a currently executed source code line 105 , a preceding source code line 115 , and a succeeding source code line 110 are highlighted and pointed to with graphical indicator cues.
- differing lines of source code i.e., current, preceding, and succeeding
- color-coded highlights wherein each state of source code is represented by a different color.
- arrow cues are displayed, wherein the arrow cues are implemented to visually guide a viewer to preceding 115 and succeeding 110 lines of executed source code.
- the arrow cues can be configured to indicate when a highlighted source code line resides beyond the viewing parameters of the GUI window 120 in which the source code lines are displayed. Therefore, allowing for a viewer to scroll the GUI window 120 in an upward or downward direction in order to view the indicated source code text.
- FIG. 2 shows a flowchart detailing aspects of a method for visually displaying an indicator for preceding and succeeding source code lines being executed within a graphical debugging environment.
- the source code lines for a segment of currently examined source code are displayed within a GUI.
- a visual indicator that is associated with a presently examined source code line 105 is displayed.
- the previously examined source code line 115 is determined, wherein the location of the previously examined line of source code 115 is determined by the use of information that is associated with the previously examined line of source code 115 .
- a visual indicator that is associated with the previously examined line of source code 115 is displayed.
- a step 225 a succeeding source code line 110 that is to be examined is determined, and at step 230 , a visual indicator that is associated with the next source code line that is to be examined is displayed.
- One or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media.
- the media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention.
- the article of manufacture can be included as a part of a computer system or sold separately.
- At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
- 1. Field of the Invention
- This invention relates to the program debugging, and particularly to the implementation of visual indicators for source codes lines that are displayed within a graphical program-debugging environment.
- 2. Description of Background
- Within a GUI program-debugging front-end environment, in the event that a program that was being debugged crashed, the debugger would allow a program developer to view the source code at the point of the program stoppage. Conventionally, debuggers have also been configured to execute a program step-by-step, thus allowing a developer to view each line of source code, in addition to ascertaining a current state, of a program as it is executed.
- During an optimization phase of compilation the displayed source code lines may be re-ordered to reflect the reorganization of the underlying assembly instructions of the source code. Therefore, while debugging optimized computer source code, many developers frequently are confused when graphical indicators that point to a currently executed source code line displayed by the debugger jump in an indiscriminate manner among the lines of source code. For example, confusion occurs when a developer instructs the debugger to step forward one line, but due to the re-ordering of the instructions, the graphical indicator pointing to a current source code line steps backwards one or more lines, or conversely, skips forward more than one line.
- Therefore, a need exists for a means for the implementation of a visual cue system for the indication of a currently executed, a previously executed, and a next executed source code lines that are displayed within a graphical program-debugging environment.
- The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method for the visually displaying an indicator for preceding and succeeding source code lines being executed within a graphical debugging environment. The method comprising displaying within a GUI source code lines for a segment of currently examined source code, displaying a visual indicator that is associated with a presently examined source code line, and determining a previously examined source code line, wherein the location of the previously examined line of source code is determined by the use of information that is associated with the previously examined line of source code. The method further comprises displaying a visual indicator that is associated with the previously examined line of source code, determining a next source code line that is to be examined, and displaying a visual indicator that is associated with the next source code line that is to be examined.
- A computer program product corresponding to the above-summarized method is also described and claimed herein.
- Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
- As a result of the summarized invention, technically we have achieved a solution that simplifies a user interface in a graphical program-debugging environment by visually indicting a preceding and succeeding source code lines that are being executed within the graphical debugging environment.
- The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
-
FIG. 1 illustrates one example of a screen shot of a GUI interface wherein the preceding and succeeding source code line are highlighted with graphical indicators. -
FIG. 2 illustrates one example of a flow diagram detailing aspects of a methodology for the indication of preceding and succeeding source code lines that are executed within embodiments of the present invention. - The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
- One or more exemplary embodiments of the invention are described below in detail. The disclosed embodiments are intended to be illustrative only since numerous modifications and variations therein will be apparent to those of ordinary skill in the art.
- Aspects of the present invention are carried out within a computing system environment. The computer system as operated by a system user can embody a conventional personal computer system on which an application that is configured to accomplish the objectives of aspects of the present invention is operating. As is conventional, the computer system also includes other hardware and software elements that are conventionally included in personal computer systems.
- When involved in the operation of debugging optimized computer source code, many developers frequently are confused when encountering visual indicators that point to a currently executed source code line displayed by the debugger jumping in an indiscriminate manner among the lines of source code when the indicator moves highlight a subsequent source code line that is executed. For example, confusion can occur when a developer instructs the debugger to step forward one line, but due to the re-ordering of the optimized instructions, the graphical indicator pointing to a current source code line steps backwards one or more lines, or conversely, skips forward more than one line.
- Aspects of the present invention provide a solution for the above-described problem. Within embodiments of the present invention a visual cue is displayed in a GUI that is displaying the currently executed code lines of currently executed source code. The present invention provides a visual cue, wherein the visual cue can highlight a currently executed source code line, a previously executed source code line, and a succeeding (next) source code line that is to be executed.
- The present invention accomplishes these inventive aspects by examining the current program debugging information that has been compiled by the debugging program and associated with the inspected program. By examining a program's debugging information, a determination can be made as to where the next line of source code instruction will be located, and subsequently a visual indicator can be associated with the next line of source code.
- Typically, each line of source code is comprised of one or more assembly language instructions. As part of a program debugging operation during a source code optimization procedure lines of source code can be re-ordered during the compilation phase of the optimization. The program debug information that a compiler accumulates associates each line of assembly instruction with a line of source code. This information is subsequently used to generate visual cues, the visual cues indicating to a viewer what line of source code is currently being executed in a program debugging procedure. Additionally, this same compiled debugging information can be used to generate visual cues that indicate what lines of source code have been previously viewed/executed and what source code line will be the next executed line of source code.
- Within aspects of the present invention, in order to track the locations of past executed source code lines, the debugger implements a one-entry buffer. The one-entry buffer contains the source code line of the last source code line instruction that was executed. Further, the debugger always identifies the current source code line that is being executed. The determination of a next source code line that is to be executed requires that the debugger evaluate and determine the upcoming instruction sequence. This aspect is possible because the debugger has already identified the currently executed source code line.
- Turning now to the drawings in greater detail, it will be seen that
FIG. 1 isscreen shot 100 of a GUI interface wherein a currently executedsource code line 105, a preceding source code line 115, and a succeeding source code line 110 are highlighted and pointed to with graphical indicator cues. Within aspects of the present invention, differing lines of source code (i.e., current, preceding, and succeeding) can be indicated by color-coded highlights, wherein each state of source code is represented by a different color. Further, as seen inFIG. 1 , arrow cues are displayed, wherein the arrow cues are implemented to visually guide a viewer to preceding 115 and succeeding 110 lines of executed source code. Within further aspects of the present invention, the arrow cues can be configured to indicate when a highlighted source code line resides beyond the viewing parameters of theGUI window 120 in which the source code lines are displayed. Therefore, allowing for a viewer to scroll theGUI window 120 in an upward or downward direction in order to view the indicated source code text. -
FIG. 2 shows a flowchart detailing aspects of a method for visually displaying an indicator for preceding and succeeding source code lines being executed within a graphical debugging environment. At step 205, the source code lines for a segment of currently examined source code are displayed within a GUI. Next, atstep 210, a visual indicator that is associated with a presently examinedsource code line 105 is displayed. At step 215, the previously examined source code line 115 is determined, wherein the location of the previously examined line of source code 115 is determined by the use of information that is associated with the previously examined line of source code 115. - At step 220, a visual indicator that is associated with the previously examined line of source code 115 is displayed. Next, a step 225, a succeeding source code line 110 that is to be examined is determined, and at
step 230, a visual indicator that is associated with the next source code line that is to be examined is displayed. - One or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
- Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
- The flow diagram depicted herein is just an example. There may be many variations to this diagram or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
- While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/737,365 US8082540B2 (en) | 2007-04-19 | 2007-04-19 | Method for visually indicating preceding and succeeding source code lines that are executed in a graphical debugging environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/737,365 US8082540B2 (en) | 2007-04-19 | 2007-04-19 | Method for visually indicating preceding and succeeding source code lines that are executed in a graphical debugging environment |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080263520A1 true US20080263520A1 (en) | 2008-10-23 |
US8082540B2 US8082540B2 (en) | 2011-12-20 |
Family
ID=39873506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/737,365 Expired - Fee Related US8082540B2 (en) | 2007-04-19 | 2007-04-19 | Method for visually indicating preceding and succeeding source code lines that are executed in a graphical debugging environment |
Country Status (1)
Country | Link |
---|---|
US (1) | US8082540B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306737A1 (en) * | 2009-05-29 | 2010-12-02 | International Buisness Machines Corporation | Techniques for Providing Environmental Impact Information Associated With Code |
US20120324425A1 (en) * | 2011-06-20 | 2012-12-20 | Microsoft Corporation | Automatic code decoration for code review |
US9921946B2 (en) | 2015-09-16 | 2018-03-20 | Nxp Usa, Inc. | Method and system to display and browse program trace using source code decoration |
US20190314568A1 (en) * | 2018-04-16 | 2019-10-17 | Fresenius Medical Care Deutschland Gmbh | Video-based upgrade of dialysis machines |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011090511A (en) * | 2009-10-22 | 2011-05-06 | Fujitsu Ltd | Execution program, compiler, and device and method of correcting execution program operation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US7243193B2 (en) * | 2004-05-27 | 2007-07-10 | Silverbrook Research Pty Ltd | Storage of program code in arbitrary locations in memory |
-
2007
- 2007-04-19 US US11/737,365 patent/US8082540B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306737A1 (en) * | 2009-05-29 | 2010-12-02 | International Buisness Machines Corporation | Techniques for Providing Environmental Impact Information Associated With Code |
US8756564B2 (en) * | 2009-05-29 | 2014-06-17 | International Business Machines Corporation | Techniques for providing environmental impact information associated with code |
US9335975B2 (en) | 2009-05-29 | 2016-05-10 | International Business Machines Corporation | Techniques for providing environmental impact information associated with code |
US10416995B2 (en) | 2009-05-29 | 2019-09-17 | International Business Machines Corporation | Techniques for providing environmental impact information associated with code |
US20120324425A1 (en) * | 2011-06-20 | 2012-12-20 | Microsoft Corporation | Automatic code decoration for code review |
US8635598B2 (en) * | 2011-06-20 | 2014-01-21 | Microsoft Corporation | Automatic code decoration for code review |
US9921946B2 (en) | 2015-09-16 | 2018-03-20 | Nxp Usa, Inc. | Method and system to display and browse program trace using source code decoration |
US20190314568A1 (en) * | 2018-04-16 | 2019-10-17 | Fresenius Medical Care Deutschland Gmbh | Video-based upgrade of dialysis machines |
US10905814B2 (en) * | 2018-04-16 | 2021-02-02 | Fresenius Medical Care Deutschland Gmbh | Video-based upgrade of dialysis machines |
Also Published As
Publication number | Publication date |
---|---|
US8082540B2 (en) | 2011-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8082540B2 (en) | Method for visually indicating preceding and succeeding source code lines that are executed in a graphical debugging environment | |
US10379989B2 (en) | Processing apparatus, trace unit and diagnostic apparatus | |
WO2002077822A2 (en) | Dynamic software code instrumentation method and system | |
US9355012B2 (en) | Stepping and application state viewing between points | |
US6981248B2 (en) | Conditional breakpoint encountered indication | |
US20080320442A1 (en) | Execution-centric source code view | |
US10761964B2 (en) | Object monitoring in code debugging | |
US10229031B2 (en) | Debugging inline functions in optimized code | |
US8370816B2 (en) | Device, method and computer program product for evaluating a debugger script | |
US8756578B2 (en) | Impact indication of thread-specific events in a non-stop debugging environment | |
US7530057B2 (en) | Program code coverage | |
US9092565B2 (en) | Synchronization point visualization for modified program source code | |
US20130007717A1 (en) | Integrating Compiler Warnings Into A Debug Session | |
EP2577463A2 (en) | Static analysis using interactive and integration tools | |
TWI617983B (en) | Method for performing cared-zone code coverage evaluation with no source code modification | |
US20120291017A1 (en) | Debugger and debugging methods using breakpoints conditioned on the static identity of data | |
US9921946B2 (en) | Method and system to display and browse program trace using source code decoration | |
US11042466B2 (en) | Exception prediction before an actual exception during debugging | |
US8141046B2 (en) | Thread swap visual indication | |
US7086033B2 (en) | Software debugger having a monitor for monitoring conditional statements within a software program | |
US8327332B2 (en) | Seamless debugging among different application views | |
US8640091B2 (en) | Method of operating a data processing system | |
US20140074803A1 (en) | Log message optimization to ignore or identify redundant log messages | |
WO1993024882A1 (en) | Software fault location | |
US11822762B2 (en) | Input display system, auxiliary information display method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGUILAR, MAXIMINO;ERB, DAVID J.;MANNING, SIDNEY J.;AND OTHERS;REEL/FRAME:019183/0211;SIGNING DATES FROM 20070410 TO 20070413 Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGUILAR, MAXIMINO;ERB, DAVID J.;MANNING, SIDNEY J.;AND OTHERS;SIGNING DATES FROM 20070410 TO 20070413;REEL/FRAME:019183/0211 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20151220 |