While we're discussing RFEs...

I'd like to see more down with debugging. For me, the single biggest benefit IDEA offers me is stepping through my code. I'd like to see more features in this area. Some that I woudl Definitely make use of...

1) breakpoint workspaces. In complicated debugging scenarios I will have many breakpoints set. Some of these are points at which I'm checking values, other points are there just as stepping stones to help me keep the motion through the code in mind. I've also got many watches that are set up. Setting up the right set of breakpoints that help me quickly trace a given subsytem takes a significant amount of time. I would LOVE to be able to save all my breakpoints to the equivalent of a workspace, with all the watches attached.

2) The ability to disable/enable all break points in a given file.

3) This is a less pressing desire but I'd like the ability to layout the "watches" pane. I would then
group my watched variables into sets. I'd then put watches that I added later in the debugging process in the same group as watches that I'd created earlier and with which they belonged. The simplest way to implement this for me would be to enable a 'moveup' 'movedown' feature on the watched variables, and allow an 'add empty row' feature that would enable me to delimit my groups of watches.

17 comments
Comment actions Permalink

+1

alan brown wrote:

>I'd like to see more down with debugging. For me, the single biggest benefit IDEA offers me is stepping through my code. I'd like to see more features in this area. Some that I woudl Definitely make use of...
>
>1) breakpoint workspaces. In complicated debugging scenarios I will have many breakpoints set. Some of these are points at which I'm checking values, other points are there just as stepping stones to help me keep the motion through the code in mind. I've also got many watches that are set up. Setting up the right set of breakpoints that help me quickly trace a given subsytem takes a significant amount of time. I would LOVE to be able to save all my breakpoints to the equivalent of a workspace, with all the watches attached.
>
>2) The ability to disable/enable all break points in a given file.
>
>3) This is a less pressing desire but I'd like the ability to layout the "watches" pane. I would then
>group my watched variables into sets. I'd then put watches that I added later in the debugging process in the same group as watches that I'd created earlier and with which they belonged. The simplest way to implement this for me would be to enable a 'moveup' 'movedown' feature on the watched variables, and allow an 'add empty row' feature that would enable me to delimit my groups of watches.

>

0
Comment actions Permalink

+10! And we'd call it Super-IDEA. :)

Franklin.

alan brown wrote:

I'd like to see more down with debugging. For me, the single biggest benefit IDEA offers me is stepping through my code. I'd like to see more features in this area. Some that I woudl Definitely make use of...

1) breakpoint workspaces. In complicated debugging scenarios I will have many breakpoints set. Some of these are points at which I'm checking values, other points are there just as stepping stones to help me keep the motion through the code in mind. I've also got many watches that are set up. Setting up the right set of breakpoints that help me quickly trace a given subsytem takes a significant amount of time. I would LOVE to be able to save all my breakpoints to the equivalent of a workspace, with all the watches attached.

2) The ability to disable/enable all break points in a given file.

3) This is a less pressing desire but I'd like the ability to layout the "watches" pane. I would then
group my watched variables into sets. I'd then put watches that I added later in the debugging process in the same group as watches that I'd created earlier and with which they belonged. The simplest way to implement this for me would be to enable a 'moveup' 'movedown' feature on the watched variables, and allow an 'add empty row' feature that would enable me to delimit my groups of watches.

0
Comment actions Permalink

Max, do you also think, #23622 is a good idea to be planned for Irida?

Tom

0
Comment actions Permalink

BTW - the other part of the breakpoint feature that I was going to ask for was 'conditional breakpoints', but then I noticed it was already implemented. So I tried to use it (because it was Immediately useful, not because I was simply testing).

However, I received an 'invalid expression' "exception" when it hit the breakpoint. My expression was simply

variableName == null

so it doesn't get much more simple than that.

Am I misunderstanding how conditional breakpoints work, or am I missing how they should be formatted?

This is a wonderful feature that I've been limping along without for months and am very grateful to have discovered, if I understand it's function correctly.

0
Comment actions Permalink

alan brown wrote:

However, I received an 'invalid expression' "exception" when it hit the breakpoint. My expression was simply

variableName == null


I have successfully used conditional breakpoints with an expression of
the form:

someVariable.getStringProperty().equals("some string")

So I would recommend that you double-check your variable name and
whether it's in scope at the breakpoint.

Ciao,
Gordon

--
Gordon Tyler (Software Developer)
Quest Software <http://java.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: (416) 933-5046 | Fax: (416) 933-5001

0
Comment actions Permalink

If we're doing breakpoint ideas, one I've had in mind for a while is to be able to add a logging breakpoint by selecting an expression in the editor and select "add logging breakpoint" in the right-click menu. After all, when I use logging breakpoints it is almost always to show the result of evaluating some expression I'm actually using in the program, at the point it is evaluated.

--Dave Griffith

0
Comment actions Permalink

Scope and spelling were ok. (double, triple and then checked again with the proverbial fine tooth comb). The problem went away when I deleted the breakpoint and then inserted a new one with the same expression.

0
Comment actions Permalink

Is this like putting a system.out in your code? If so, that is a great
idea.

Dave Griffith wrote:

>If we're doing breakpoint ideas, one I've had in mind for a while is to be able to add a logging breakpoint by selecting an expression in the editor and select "add logging breakpoint" in the right-click menu. After all, when I use logging breakpoints it is almost always to show the result of evaluating some expression I'm actually using in the program, at the point it is evaluated.
>
>--Dave Griffith

>

0
Comment actions Permalink

The effect would be similar to putting System.out on an expression, except that 1) it would be quicker to do, with a simple select and menu choice, 2)it wouldn't actually show up in your code, just wherever in your project file that breakpoints are stored, and 3) it would probably be a lot slower at runtime, as breakpoints with code dynamically attached tend to be on the slow side in current JVM's. A worthwhile tradeoff, to my mind.

--Dave Griffith

0
Comment actions Permalink

Norris, Dave, you are aware that you can already do this with breakpoints?! There's just not such an easy way like a menu item to create one:
Create a breakpoint, select its properties from the context menu.
Tick the checkboxes "Suspend VM execution" OFF and "Log evaluated expression" ON and enter your expression.

But I am all for a more simple way to do that. Your idea sounds very nice.

0
Comment actions Permalink

Thomas Singer (MoTJ) wrote:

Max, do you also think, #23622 is a good idea to be planned for Irida?

Tom

Something like that is already planned. I just not sure what request id
is to make 23622 a duplicate.

--
Maxim Shafirov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0
Comment actions Permalink

On 12-08-2004 12:01, Maxim Shafirov (JetBrains) wrote:

Thomas Singer (MoTJ) wrote:

>> Max, do you also think, #23622 is a good idea to be planned for Irida?
>>
>> Tom

Something like that is already planned. I just not sure what request id
is to make 23622 a duplicate.


I'm guessing that's SCR 235:
http://www.intellij.net/tracker/idea/viewSCR?publicId=235

Bas

0
Comment actions Permalink

Keep in mind that if you're setting the breakpoint at the same line the variable is declared, it's not in scope yet. Set the breakpoint a line below that and you're safe.

0
Comment actions Permalink

Yup, no engine changes needed at all for this one, just cleaning out extra mouse clicks from a very common use case by applying knowlege of Java structure. In that way, I think of it as a very JetBrains feature...

--Dave Griffith

0
Comment actions Permalink

Dave Griffith wrote:

Yup, no engine changes needed at all for this one, just cleaning out extra mouse clicks from a very common use case by applying knowlege of Java structure. In that way, I think of it as a very JetBrains feature...

--Dave Griffith


http://www.intellij.net/tracker/idea/viewSCR?publicId=37301

--
Maxim Shafirov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0
Comment actions Permalink

Great idea, but .... does not evaluate for me.








Stephen Kelvin wrote:

>Norris, Dave, you are aware that you can already do this with breakpoints?! There's just not such an easy way like a menu item to create one:
>Create a breakpoint, select its properties from the context menu.
>Tick the checkboxes "Suspend VM execution" OFF and "Log evaluated expression" ON and enter your expression.
>
>But I am all for a more simple way to do that. Your idea sounds very nice.


>



Attachment(s):
moz-screenshot.jpg
moz-screenshot-1.jpg
moz-screenshot-2.jpg
0

Please sign in to leave a comment.