IP Library Granted Patent US 7,152,226
Granted Patent B2
US 7,152,226 · App. 09/946,754 · Granted Dec 19, 2006

Flexible horizontal stack display and editor

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 7,152,226
App. No.
09/946,754
Granted
Dec 19, 2006
Kind
B2
Abstract

A method and system for debugging a computer program are described. In one embodiment, information pertaining to a first function executed within the computer program is presented in a first sub-window of a stack window. Further, information pertaining to a second function executed within the computer program is presented in a second sub-window of the stack window. The second sub-window is positioned next to the first sub-window to provide a horizontal arrangement of the sub-windows within the stack window.

Claims (54)

1. A method to debug a program, the method comprising:

presenting information pertaining to a first function executed within the program in a first sub-window of a stack window;

presenting information pertaining to a second function executed within the program in a second sub-window of the stack window, the second sub-window being positioned next to the first sub-window to provide a horizontal arrangement of the first and second sub-windows within the stack window; and

presenting information pertaining to a third function called by the second function in a third sub-window of the stack window, the third sub-window being positioned next to the second sub-window to provide a horizontal arrangement of the first, second and third sub-windows within the stack window.

2. The method of claim 1 wherein the third function is the first function recursively called by the second function.

3. The method of claim 1 wherein the information pertaining to each of the first and second functions includes a high-level stack data associated with said each of the first and second functions and a low-level stack data associated with said each of the first and second functions.

4. The method of claim 3 further comprising:

receiving a user command to provide additional information regarding a particular item within the high-level stack data;

finding the additional information in a stack; and

displaying the additional information in a corresponding sub-window.

5. The method of claim 4 wherein the user command includes clicking on an icon associated with the particular item, the icon indicating that the particular item can be expanded.

6. The method of claim 3 wherein the high-level stack data includes a set of variables associated with a corresponding function and a value stored in each of the set of variables during execution of the corresponding function.

7. The method of claim 3 wherein the low-level stack data includes a plurality of memory locations, data stored at each of the plurality of memory locations and a program symbol associated with said each of the plurality of memory locations.

8. The method of claim 7 further comprising:

displaying an indicator of multiple program symbols associated with said each of the plurality of memory locations; and

enabling a user to interact with the indicator using a cursor control device to view each of the multiple program symbols.

9. The method of claim 3 wherein the high-level stack data is displayed in a first display area within a corresponding sub-window and the low-level stack data is displayed in a second display area within the corresponding sub-window.

10. The method of claim 1 wherein the information pertaining to each of the first, second, and third functions includes a high-level stack data associated with said each of the first, second, and third functions and a low-level stack data associated with said each of the first, second, and third functions.

11. The method of claim 9 further comprising adjusting the size of the first display area based on a user interaction with a cursor control device.

12. The method of claim 1 further comprising adjusting the size of any one of the first and second sub-windows based on a user interaction with a cursor control device.

13. The method of claim 1 further comprising adjusting the size of any one of the first, second, and third sub-windows based on a user interaction with a cursor control device.

14. The method of claim 1 further comprising closing any one of the first and second sub-windows based on a user interaction with a cursor control device.

15. The method of claim 1 further comprising closing any one of the first, second, and third sub-windows based on a user interaction with a cursor control device.

16. The method of claim 1 further comprising:

updating any item within the information pertaining to any one of the first and second functions based on user input.

17. The method of claim 1 further comprising:

updating any item within the information pertaining to any one of the first, second, and third functions based on user input.

18. A system comprising:

a first means for presenting information pertaining to a first function executed within the program in a first sub-window of a stack window;

a second means for presenting information pertaining to a second function executed within the program in a second sub-window of the stack window, the second sub-window being positioned next to the first sub-window to provide a horizontal arrangement of the first and second sub-windows within the stack window; and

a third means for presenting information pertaining to a third function called by the second function in a third sub-window of the stack window, the third sub-window being positioned next to the second sub-window to provide a horizontal arrangement of the first, second and third sub-windows within the stack window.

19. The system of claim 18 wherein the information pertaining to each of the first and second functions includes a high-level stack data associated with said each of the first and second functions and a low-level stack data associated with said each of the first and second functions.

20. The system of claim 19 wherein the high-level stack data includes a set of variables associated with a corresponding function and a value stored in each of the set of variables during execution of the corresponding function.

21. The system of claim 19 wherein the low-level stack data includes a plurality of memory locations, data stored at each of the plurality of memory locations and a program symbol associated with said each of the plurality of memory locations.

22. The system of claim 19 wherein the high-level stack data is displayed in a first display area within a corresponding sub-window and the low-level stack data is displayed in a second display area within the corresponding sub-window.

23. The system of claim 22 further comprising:

a fourth means for adjusting the size of the first display area based on a user interaction with a cursor control device.

24. The system of claim 18 further comprising:

a fourth means for adjusting the size of any one of the first and second sub-windows based on a user interaction with a cursor control device.

25. The system of claim 18 further comprising:

a fourth means for closing any one of the first and second sub-windows based on a user interaction with a cursor control device.

26. The method of claim 18 further comprising:

a fourth means for updating any item within the information pertaining to any one of the first and second functions based on user input.

27. The system of claim 18 wherein the information pertaining to each of the first, second, and third functions includes a high-level stack data associated with said each of the first, second, and third functions and a low-level stack data associated with said each of the first, second, and third functions.

28. The system of claim 18 further comprising:

a fourth means for adjusting the size of any one of the first, second, and third sub- windows based on a user interaction with a cursor control device.

29. The system of claim 18 further comprising:

a fourth means for closing any one of the first, second, and third sub-windows based on a user interaction with a cursor control device.

30. The method of claim 18 further comprising:

a fourth means for updating any item within the information pertaining to any one of the first, second, and third functions based on user input.

31. A computer readable medium that provides instructions, which when executed on a processor, cause said processor to perform operations comprising:

presenting information pertaining to a first function executed within the program in a first sub-window of a stack window;

presenting information pertaining to a second function executed within the program in a second sub-window of the stack window, the second sub-window being positioned next to the first sub-window to provide a horizontal arrangement of the first and second sub-windows within the stack window; and

presenting information pertaining to a third function called by the second function in a third sub-window of the stack window, the third sub-window being positioned next to the second sub-window to provide a horizontal arrangement of the first, second and third sub-windows within the stack window.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Jun 16, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 057279/0707 →