Ever since Dave Griffith said he thought debugging was a solved problem
and that JB shouldn't work on it, I've been thinking about debugging.
I'm not very happy about it.
1. Why can't I see the value that's about to be returned? I need to
extract a variable, recompile, and wait for the next invocation
2. Why can't I see the history of a variable's values (like back in time
3. Why can't I track specific instances of objects after they leave scope?
4. Why can't I set IDEA to break upon entry of any method of some object
or some class?
5. Why can't I execute code when I Pause the debugger?
6. Why doesn't IDEA warn me when there's a deadlock?
7. Why can't I hotswap code in the middle of a method's execution?
8. Why doesn't IDEA provide any way for me to know if the code has
changed since the last time I started debugging / reloaded?
9. Why does IDEA jump to the beginning of the file when the JVM says
"breakpoints will be ignored for all existing invocations of the method"
10. Why can't I step through an expression?
11. Why can't I see a list of bean properties instead of fields for an
12. Why does IDEA insert "x.toArray()" when I select a List's first
item and click Evaluate? I obviously want to call x.get(0), so I don't
need to insert casts.
13. Why aren't final local variables used in inner classes shown
normally? Why do I need to click "this" then find "this$varname"
recursively to see all of them?
14. Why can't I step into bytecode? Disassembly is not difficult. Even
Visual Studio has done this for years.
15. Why are Watches and Frame different tabs? Why would I just want one
or the other?
16. Why does IDEA completely skip the breakpoint if it's on a line
without code? I obviously wanted to stop between the previous line of
code and the next line of code.
17. Why can't I set the breakpoint on the first line of a multiline for
loop? Couldn't IDEA be a little smarter about this?
These are just the issues I have off the top of my head with debugging.
Aren't these real problems for anyone else? For me using the debugger is
nothing short of painful, every day.
Are there any plans to revamp debugger, or at least fix some of the
annoying lower-hanging fruit in my list?