Jump to: navigation, search

Difference between revisions of "EDT:Debug"

Line 1: Line 1:
 
The Java-based debugger is implemented via [http://jcp.org/en/jsr/detail?id=45 JSR-45], plus some of our own extensions (such as support for a customized Variables view).  
 
The Java-based debugger is implemented via [http://jcp.org/en/jsr/detail?id=45 JSR-45], plus some of our own extensions (such as support for a customized Variables view).  
 +
  
 
The JavaScript-based debugger has not been started yet.  
 
The JavaScript-based debugger has not been started yet.  
 +
  
 
<br>  
 
<br>  
 +
  
 
[https://bugs.eclipse.org/bugs/buglist.cgi?bug_severity=blocker;bug_severity=critical;bug_severity=major;bug_severity=normal;bug_severity=minor;bug_severity=trivial;classification=Tools;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=EDT%20Debug;product=EDT Open bugs]  
 
[https://bugs.eclipse.org/bugs/buglist.cgi?bug_severity=blocker;bug_severity=critical;bug_severity=major;bug_severity=normal;bug_severity=minor;bug_severity=trivial;classification=Tools;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=EDT%20Debug;product=EDT Open bugs]  
 +
  
 
[https://bugs.eclipse.org/bugs/buglist.cgi?bug_severity=enhancement;classification=Tools;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=EDT%20Debug;product=EDT Open enhancement requests]  
 
[https://bugs.eclipse.org/bugs/buglist.cgi?bug_severity=enhancement;classification=Tools;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=EDT%20Debug;product=EDT Open enhancement requests]  
 +
  
 
<br>  
 
<br>  
 +
  
 
{| cellspacing="1" cellpadding="1" border="1" width="900" style=""
 
{| cellspacing="1" cellpadding="1" border="1" width="900" style=""
 
|-
 
|-
| bgcolor="#999999" align="center" width="350" | '''Function'''  
+
| bgcolor="#999999" align="center" width="350" | '''Function'''
| bgcolor="#999999" align="center" width="100" colspan="4" | '''Java'''<br>  
+
 +
| bgcolor="#999999" align="center" width="100" colspan="4" | '''Java'''<br>
 +
 
| bgcolor="#999999" align="center" width="100" colspan="4" | '''JavaScript'''
 
| bgcolor="#999999" align="center" width="100" colspan="4" | '''JavaScript'''
 
|-
 
|-
| bgcolor="#cccccc" | <br>  
+
| bgcolor="#cccccc" | <br>
| bgcolor="#cccccc" align="center" valign="middle" | '''Sizing'''<br>  
+
| bgcolor="#cccccc" align="center" valign="middle" | '''0.7<br>'''  
+
| bgcolor="#cccccc" align="center" valign="middle" | '''Sizing'''<br>
| bgcolor="#cccccc" align="center" valign="middle" | '''1.0<br>'''  
+
| bgcolor="#cccccc" align="center" valign="middle" | '''Future<br>'''  
+
| bgcolor="#cccccc" align="center" valign="middle" | '''0.7<br>'''
| bgcolor="#cccccc" align="center" valign="middle" | '''Sizing<sup>[4]</sup>'''<br>  
+
| bgcolor="#cccccc" align="center" valign="middle" | '''0.7<br>'''  
+
| bgcolor="#cccccc" align="center" valign="middle" | '''1.0<br>'''
| bgcolor="#cccccc" align="center" valign="middle" | '''1.0<br>'''  
+
 +
| bgcolor="#cccccc" align="center" valign="middle" | '''Future<br>'''
 +
 +
| bgcolor="#cccccc" align="center" valign="middle" | '''Sizing<sup>[4]</sup>'''<br>
 +
 +
| bgcolor="#cccccc" align="center" valign="middle" | '''0.7<br>'''
 +
 +
| bgcolor="#cccccc" align="center" valign="middle" | '''1.0<br>'''
 +
 
| bgcolor="#cccccc" align="center" valign="middle" | '''Future<br>'''
 
| bgcolor="#cccccc" align="center" valign="middle" | '''Future<br>'''
 
|-
 
|-
| bgcolor="#cccccc" | Core framework<br>  
+
| bgcolor="#cccccc" | Core framework<br>
| <br>  
+
| done<br>  
+
| <br>
| <br>  
+
| <br>  
+
| done<br>
| 15d<br>  
+
| {{bug|351854}}  
+
| <br>
| <br>  
+
 +
| <br>
 +
 +
| 15d<br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
| <br>
 
| <br>
 
|-
 
|-
Line 40: Line 63:
 
*Debug on a server such as Apache Tomcat
 
*Debug on a server such as Apache Tomcat
  
| 3d  
+
| 3d
| done ({{bug|353046}})  
+
| <br>  
+
| done ({{bug|353046}})
| <br>  
+
 +
| <br>
 +
 +
| <br>
 +
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
Line 51: Line 78:
 
*Most basic of function<br>
 
*Most basic of function<br>
  
| <br>  
+
| <br>
| done (free)<br>  
+
| <br>  
+
| done (free)<br>
| <br>  
+
 +
| <br>
 +
 +
| <br>
 +
 
|  
 
|  
| Will be covered by {{bug|351854}}  
+
| done ({{bug|351854}})
 
|  
 
|  
 
| <br>
 
| <br>
Line 63: Line 94:
 
*Step between EGL and Java<br>
 
*Step between EGL and Java<br>
  
| <br>  
+
| <br>
| done (free)<br>  
+
| <br>  
+
| done (free)<br>
| <br>  
+
 +
| <br>
 +
 +
| <br>
 +
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
Line 72: Line 107:
 
*Filter runtimes that users won't want to step into (basic)<br>
 
*Filter runtimes that users won't want to step into (basic)<br>
  
| 1d<br>  
+
| 1d<br>
| done ({{bug|346265}})<br>  
+
| <br>  
+
| done ({{bug|346265}})<br>
| <br>  
+
 +
| <br>
 +
 +
| <br>
 +
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
Line 81: Line 120:
 
*Filter runtimes that users won't want to step into (extensible)<br>
 
*Filter runtimes that users won't want to step into (extensible)<br>
  
| 4d<br>  
+
| 4d<br>
| <br>  
+
| {{bug|353050}}  
+
| <br>
| <br>  
+
 +
| {{bug|353050}}
 +
 +
| <br>
 +
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A <br>
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A <br>
 
|-
 
|-
Line 92: Line 135:
 
*Line breakpoints<br>
 
*Line breakpoints<br>
  
| <br>  
+
| <br>
| done<br>  
+
| <br>  
+
| done<br>
| <br>  
+
 +
| <br>
 +
 +
| <br>
 +
 
|  
 
|  
| Will be covered by {{bug|352582}}  
+
| done ({{bug|352582}})
| <br>  
+
| <br>
 +
 
| <br>
 
| <br>
 
|-
 
|-
Line 104: Line 152:
 
*Conditional breakpoints<br>
 
*Conditional breakpoints<br>
  
| 5d<sup>[1]</sup><br>  
+
| 5d<sup>[1]</sup><br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|351236}}  
+
| 5d<sup>[1]</sup><br>  
+
| <br>
| <br>  
+
| <br>  
+
| {{bug|351236}}
 +
 +
| 5d<sup>[1]</sup><br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351237}}
 
| {{bug|351237}}
 
|-
 
|-
Line 116: Line 171:
 
*Hit count on breakpoints
 
*Hit count on breakpoints
  
| <br>  
+
| 1d<br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|352585}}  
+
| 1d<br>  
+
| <br>
| <br>  
+
| <br>  
+
| {{bug|352585}}
 +
 +
| 1d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|352586}}
 
| {{bug|352586}}
 
|-
 
|-
Line 128: Line 190:
 
*Watchpoints<br>
 
*Watchpoints<br>
  
| 15d<br>  
+
| 15d<br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|351873}}  
+
| 15d<br>  
+
| <br>
| <br>  
+
| <br>  
+
| {{bug|351873}}
 +
 +
| 15d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351874}}
 
| {{bug|351874}}
 
|-
 
|-
Line 142: Line 211:
 
*Variable adapter framework
 
*Variable adapter framework
  
| 2d  
+
| 2d
| {{bug|352771}}  
+
| <br>  
+
| {{bug|352771}}
| <br>  
+
 +
| <br>
 +
 +
| <br>
 +
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
Line 151: Line 224:
 
*Primitives and records<br>
 
*Primitives and records<br>
  
| <br>  
+
| <br>
| done<br>  
+
| <br>  
+
| done<br>
| <br>  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}  
+
| <br>  
+
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 163: Line 242:
 
*User and system libraries<br>
 
*User and system libraries<br>
  
| <br>  
+
| <br>
| done ({{bug|346252}})<br>  
+
| <br>  
+
| done ({{bug|346252}})<br>
| <br>  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}  
+
| <br>  
+
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 175: Line 260:
 
*Data tables, forms, &amp; program parameters<br>
 
*Data tables, forms, &amp; program parameters<br>
  
| <br>  
+
| <br>
| done ({{bug|346254}})<br>  
+
| <br>  
+
| done ({{bug|346254}})<br>
| <br>  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}  
+
| <br>  
+
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 187: Line 278:
 
*Arrays<br>
 
*Arrays<br>
  
| 1/2d<sup>[2]</sup><br>  
+
| 1/2d<sup>[2]</sup><br>
| done ({{bug|352021}})<br>  
+
| <br>  
+
| done ({{bug|352021}})<br>
| <br>  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}  
+
| <br>  
+
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 199: Line 296:
 
*Handler fields
 
*Handler fields
  
| <br>  
+
| <br>
| done  
+
| <br>  
+
| done
| <br>  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}  
+
| <br>  
+
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 211: Line 314:
 
*Dictionaries
 
*Dictionaries
  
| 1/2d<sup>[2]</sup><br>  
+
| 1/2d<sup>[2]</sup><br>
| done ({{bug|352600}})  
+
| <br>  
+
| done ({{bug|352600}})
 +
 +
| <br>
 +
 +
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 
| <br>
 
| <br>
| <br>
+
| Will be covered by {{bug|351854}}
+
| <br>
+
 
|  
 
|  
 
|-
 
|-
Line 223: Line 332:
 
*ArrayDictionaries
 
*ArrayDictionaries
  
| 1/2d<sup>[2]</sup><sup>[3]</sup><br>  
+
| 1/2d<sup>[2]</sup><sup>[3]</sup><br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|352602}}  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}
+
| <br>  
+
| {{bug|352602}}
 +
| <br>
 +
 +
| &nbsp;
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 235: Line 349:
 
*Format display of certain variables<br>
 
*Format display of certain variables<br>
  
| 3d<br>  
+
| 3d<br>
| {{bug|346247}}  
+
| <br>  
+
| {{bug|346247}}
| <br>  
+
| <br>  
+
| <br>
| Will be covered by {{bug|351854}}  
+
| <br>  
+
| <br>
 +
 +
| <br>
 +
 +
| done ({{bug|351854}})
 +
| <br>
 +
 
|  
 
|  
 
|-
 
|-
Line 247: Line 367:
 
*Simple value modification of primitives<br>
 
*Simple value modification of primitives<br>
  
| 3d<br>  
+
| 3d<br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|346249}}  
+
| 1d<br>  
+
| <br>
| <br>  
+
| <br>  
+
| {{bug|346249}}
 +
 +
| 1d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|352598}}<br>
 
| {{bug|352598}}<br>
 
|-
 
|-
Line 259: Line 386:
 
*Complex value modification of variables<br>
 
*Complex value modification of variables<br>
  
| 5d<sup>[1]</sup><br>  
+
| 5d<sup>[1]</sup><br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|352595}}  
+
| 4d<br>  
+
| <br>
| <br>  
+
| <br>  
+
| {{bug|352595}}
 +
 +
| 4d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|352597}}<br>
 
| {{bug|352597}}<br>
 
|-
 
|-
Line 271: Line 405:
 
*Build watch expressions from variable context menu<br>
 
*Build watch expressions from variable context menu<br>
  
| 3d<br>  
+
| 3d<br>
| <br>  
+
| <br>  
+
| <br>
| {{bug|351858}}  
+
| 3d<br>  
+
| <br>
| <br>  
+
| <br>  
+
| {{bug|351858}}
 +
 +
| 3d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351859}}
 
| {{bug|351859}}
 
|-
 
|-
| bgcolor="#cccccc" | Hot code replace (aka hotswapping)<br>  
+
| bgcolor="#cccccc" | Hot code replace (aka hotswapping)<br>
| <br>  
+
| done (free)<br>  
+
| <br>
| <br>  
+
| <br>  
+
| done (free)<br>
| 20d<br>  
+
| <br>  
+
| <br>
| <br>  
+
 +
| <br>
 +
 +
| 20d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351238}}
 
| {{bug|351238}}
 
|-
 
|-
| bgcolor="#cccccc" | Compile &amp; generate contextual expressions  
+
| bgcolor="#cccccc" | Compile &amp; generate contextual expressions
| 10d  
+
| <br>  
+
| 10d
| <br>  
+
| {{bug|352666}}  
+
| <br>
| 10d  
+
| <br>  
+
| <br>
| <br>  
+
 +
| {{bug|352666}}
 +
 +
| 10d
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|352666}}
 
| {{bug|352666}}
 
|-
 
|-
| bgcolor="#cccccc" | Watch expressions<br>  
+
| bgcolor="#cccccc" | Watch expressions<br>
| 5d<sup>[1]</sup><br>  
+
| <br>  
+
| 5d<sup>[1]</sup><br>
| <br>  
+
| {{bug|351240}}  
+
| <br>
| 4d<sup>[1]</sup><br>  
+
| <br>  
+
| <br>
| <br>  
+
 +
| {{bug|351240}}
 +
 +
| 4d<sup>[1]</sup><br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351241}}
 
| {{bug|351241}}
 
|-
 
|-
| bgcolor="#cccccc" | Run to line<br>  
+
| bgcolor="#cccccc" | Run to line<br>
| <br>  
+
| done ({{bug|346256}})<br>  
+
| <br>
| <br>  
+
| <br>  
+
| done ({{bug|346256}})<br>
| 1d<br>  
+
| <br>  
+
| <br>
| <br>  
+
| {{bug|352593}}<br>
+
| <br>
 +
 +
| 1d<br>
 +
 +
| done<br>
 +
 +
| <br>
 +
 +
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | Drop to frame<br>  
+
| bgcolor="#cccccc" | Drop to frame<br>
| <br>  
+
| done (free)<br>  
+
| <br>
| <br>  
+
| <br>  
+
| done (free)<br>
| 3d<br>  
+
| <br>  
+
| <br>
| <br>  
+
 +
| <br>
 +
 +
| 3d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351239}}
 
| {{bug|351239}}
 
|-
 
|-
| bgcolor="#cccccc" | Hover value in source editor<br>  
+
| bgcolor="#cccccc" | Hover value in source editor<br>
| 4d<br>  
+
| <br>  
+
| 4d<br>
| {{bug|351872}}  
+
| <br>  
+
| <br>
| 4d<br>  
+
| <br>  
+
| {{bug|351872}}
| <br>  
+
 +
| <br>
 +
 +
| 4d<br>
 +
 +
| <br>
 +
 +
| <br>
 +
 
| {{bug|351872}}
 
| {{bug|351872}}
 
|}
 
|}
  
 
<br>  
 
<br>  
 +
  
 
[1] Depends on {{bug|352666}} which is sized at 10 days<br>  
 
[1] Depends on {{bug|352666}} which is sized at 10 days<br>  
 +
  
 
[2] Depends on {{bug|352771}} which is sized at 2 days  
 
[2] Depends on {{bug|352771}} which is sized at 2 days  
 +
  
 
[3] Not currently supported in EDT JavaGen so it can't be worked on. Requires the generator provide a variable adapter as described in #2 above, in which case the work for this becomes writing an adapter for the runtime ArrayDictionary object - which again, can't be worked on until the base generator supports the type. If someone else extends our generator to support ArrayDictionary, they'll have to write their own adapter.  
 
[3] Not currently supported in EDT JavaGen so it can't be worked on. Requires the generator provide a variable adapter as described in #2 above, in which case the work for this becomes writing an adapter for the runtime ArrayDictionary object - which again, can't be worked on until the base generator supports the type. If someone else extends our generator to support ArrayDictionary, they'll have to write their own adapter.  
 +
  
 
[4] Sizings for JavaScript debug assume a direct port of the RBD RUI Debugger
 
[4] Sizings for JavaScript debug assume a direct port of the RBD RUI Debugger

Revision as of 16:28, 17 August 2011

The Java-based debugger is implemented via JSR-45, plus some of our own extensions (such as support for a customized Variables view).


The JavaScript-based debugger has not been started yet.




Open bugs


Open enhancement requests




Function Java
JavaScript

Sizing
0.7
1.0
Future
Sizing[4]
0.7
1.0
Future
Core framework

done


15d
done (bug 351854)

  • Debug on a server such as Apache Tomcat
3d done (bug 353046)

N/A
Stepping through statements
  • Most basic of function

done (free)


done (bug 351854)
  • Step between EGL and Java

done (free)


N/A
  • Filter runtimes that users won't want to step into (basic)
1d
done (bug 346265)


N/A
  • Filter runtimes that users won't want to step into (extensible)
4d

bug 353050
N/A
Breakpoints
  • Line breakpoints

done


done (bug 352582)

  • Conditional breakpoints
5d[1]


bug 351236 5d[1]


bug 351237
  • Hit count on breakpoints
1d


bug 352585 1d


bug 352586
  • Watchpoints
15d


bug 351873 15d


bug 351874
Variables view
  • Variable adapter framework
2d bug 352771

N/A
  • Primitives and records

done



done (bug 351854)
  • User and system libraries

done (bug 346252)



done (bug 351854)
  • Data tables, forms, & program parameters

done (bug 346254)



done (bug 351854)
  • Arrays
1/2d[2]
done (bug 352021)



done (bug 351854)
  • Handler fields

done


done (bug 351854)
  • Dictionaries
1/2d[2]
done (bug 352600)


done (bug 351854)
  • ArrayDictionaries
1/2d[2][3]


bug 352602
 
  • Format display of certain variables
3d
bug 346247


done (bug 351854)
  • Simple value modification of primitives
3d


bug 346249 1d


bug 352598
  • Complex value modification of variables
5d[1]


bug 352595 4d


bug 352597
  • Build watch expressions from variable context menu
3d


bug 351858 3d


bug 351859
Hot code replace (aka hotswapping)

done (free)


20d


bug 351238
Compile & generate contextual expressions 10d

bug 352666 10d

bug 352666
Watch expressions
5d[1]


bug 351240 4d[1]


bug 351241
Run to line

done (bug 346256)


1d
done


Drop to frame

done (free)


3d


bug 351239
Hover value in source editor
4d

bug 351872
4d


bug 351872



[1] Depends on bug 352666 which is sized at 10 days


[2] Depends on bug 352771 which is sized at 2 days


[3] Not currently supported in EDT JavaGen so it can't be worked on. Requires the generator provide a variable adapter as described in #2 above, in which case the work for this becomes writing an adapter for the runtime ArrayDictionary object - which again, can't be worked on until the base generator supports the type. If someone else extends our generator to support ArrayDictionary, they'll have to write their own adapter.


[4] Sizings for JavaScript debug assume a direct port of the RBD RUI Debugger