Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use Eclipse's Display View for Debug?

Tags:

java

eclipse

view

At the link below it explains that the "display view allows you to manipulate live code in a scrapbook type fashion (see Figure 8). To manipulate a variable, simply type the name of the variable in the Display view, and you'll be greeted with a familiar content assist."

http://www.ibm.com/developerworks/library/os-ecbug/

However, I am having trouble getting it to work. I have the view open but all the buttons are disabled. I have tried putting code in the view, selecting code in the view, selecting code in other views, while running and while not running debug, but the only button that is ever enabled on the view is "clear console".

Suggestions on what I am doing wrong?

like image 681
jzd Avatar asked Dec 21 '10 13:12

jzd


People also ask

Which perspective is used to run a program in debug view?

Which perspective is used to run a program in debug view? Explanation: We can switch from one perspective to another. Debug perspective shows us the breakpoints, variables, etc.

How do I view debug in Eclipse?

Press Ctrl+Shift+d or Ctrl+Shift+i on a selected variable or expression to show its value. You can also add a permanent watch on an expression/variable that will then be shown in the Expressions view when debugging is on.

How do you open debug perspective?

If Eclipse does not automatically switch to the Debug perspective, you can locate it manually in the Window entry on the menu bar or by clicking the Choose Perspective button (a button with a plus on it) in the upper right corner of the Eclipse window under the menu bar line.

How do you debug in STS?

Running a remote debugging session from STS/Eclipse Last, but not least, configure the STS/Eclipse to connect to the service instance: Create a new Remote Java Application Debug Configuration; Select source code project for the service under Project. Specify the debugger port defined above under Connection Properties.


3 Answers

I think this powerful feature should be used way more often.

  1. In the debug perspective: Window -> Show View -> (search for) Display
  2. Put a break point in your code
  3. Trigger the breakpoint by executing this code
  4. Once on the breakpoint go to the Display view
  5. Write some code like myObject.getSomeData();, you can autocomplete (Ctrl+Space)
  6. Select the expression (code) you want to evaluate
  7. Use one of the many display view buttons which should now be enabled
  8. Save some precious time...

Not sure why this view is not there by default, it should be !

like image 37
Christophe Roussy Avatar answered Sep 29 '22 20:09

Christophe Roussy


You can view the Display view as a place where you can inspect all sorts of variables and boolean expressions during runtime. While your debugger is frozen on a breakpoint start typing the name of an object variable for instance and you'll get autocomplete functionality as you start calling methods or fields to reach deeper class datastructures. Then when you select/mark the portion you need to inspect or everything, the buttons on the Display view will be clickable. You can always perform the Ctrl+Shift+I shortcut on the selection to view what's the current runtime state of your selection i.e. variable, object, boolean exrepssion etc

like image 67
dimitrisli Avatar answered Sep 29 '22 21:09

dimitrisli


As of Eclipse Photon Release (4.8.0)

This same functionality can be performed inside the the Debug Shell. I do this by:

  1. Make sure I'm at a breakpoint in a Debug execution of some script
  2. Open the Debug Shell
  3. Type in the code that I want to run
  4. Highlight the specific line of code
  5. Use either of the buttons for: Execute Selected Text, or Display Result of Evaluating Selected Text

I'm including this answer because as of 2018, with the Photon Release, I was unable to get the Display view to work in any capacity or to even show up. But I was able to perform the same work through this method.

like image 43
Andrew Avatar answered Sep 29 '22 22:09

Andrew