Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-debug-dev] Expression level stepping not on the 2.1 plan


A brief investigation into _expression_ level stepping has revealed (not surprisingly), that generic, source level _expression_ stepping is not on the radar for 2.1.

JDI supports an instruction level step, but class files do not contain debug attributes that correspond to the source positions of indvidual byte codes. Instead, a line number mapping is provided. I investigated the possibility of recompiling source on the fly (i.e. while suspended in a stack frame), to compute the detailed byte code source index information. The finding was that recompiling on the fly is possible (with a small overhead), but that we can only provide the proper information for class files that the Eclipse compiler has compiled. The reason for this, is that different compilers produce different byte codes - so we can only successfully recompile/produce byte code indicies for classes that were compiled by the Eclipse Java compiler. Thus, the ability to _expression_ level step would only be enbabled "part of the time". This would produce an unpredictable stepping behvaior and a poor user experience.

Thus, _expression_ level stepping will not be placed in the 2.1 debug plan.

We encourage anyone who has time to investigate an ellegant solution to this problem to do so.

Darin

Back to the top