Jump to: navigation, search

Difference between revisions of "EDT:Debug"

 
(25 intermediate revisions by the same user not shown)
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 is a port from the RBD EGL Rich UI debugger.  
  
 
<br>  
 
<br>  
  
{| cellspacing="1" cellpadding="1" border="1" width="900" style=""
+
[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]
 +
 
 +
[[EDT:Debug Extensibility|Extending the debugger]]<br>
 +
 
 +
[[EDT:Debug Regression Testing|Regression testing the debugger]]
 +
 
 +
<br>
 +
 
 +
In the following table:
 +
 
 +
*<span style="background-color:#cccccc">gray</span> = done for both debuggers
 +
*<span style="background-color:#FFFF00">yellow</span> = done for one debugger but not the other<br>
 +
*<span style="background-color:#FF0000">red</span> = not yet supported in either debugger
 +
 
 +
{| cellspacing="1" cellpadding="1" border="1" width="900"
 
|-
 
|-
 
| 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="5" | '''Java'''<br>  
 
| bgcolor="#999999" align="center" width="100" colspan="4" | '''JavaScript'''
 
| bgcolor="#999999" align="center" width="100" colspan="4" | '''JavaScript'''
 
|-
 
|-
Line 14: Line 30:
 
| bgcolor="#cccccc" align="center" valign="middle" | '''Sizing'''<br>  
 
| bgcolor="#cccccc" align="center" valign="middle" | '''Sizing'''<br>  
 
| bgcolor="#cccccc" align="center" valign="middle" | '''0.7<br>'''  
 
| bgcolor="#cccccc" align="center" valign="middle" | '''0.7<br>'''  
 +
| bgcolor="#cccccc" align="center" valign="middle" | '''0.8'''
 
| 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" | '''Future<br>'''  
Line 26: Line 43:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 +
| <br>
 +
| 15d<br>
 +
| done ({{bug|351854}})
 
| <br>  
 
| <br>  
 
| <br>
 
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
*Debug on a server such as Apache Tomcat
 +
 +
| 3d
 +
| done ({{bug|353046}})
 
| <br>  
 
| <br>  
| {{bug|351854}}
+
| <br>
 +
| <br>
 +
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
| bgcolor="#cccccc" colspan="9" | ''Stepping through statements''<br>
+
| bgcolor="#cccccc" colspan="10" | ''Stepping through statements''<br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 41: Line 69:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
| <br>
 
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| done ({{bug|351854}})
 +
| <br>
 +
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 50: Line 79:
 
| <br>  
 
| <br>  
 
| done (free)<br>  
 
| done (free)<br>  
 +
| <br>
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
Line 55: Line 85:
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
*Decide how to filter runtimes that users won't want to step into<br>
+
*Filter runtimes that users won't want to step into (basic)<br>
  
 +
| 1d<br>
 +
| done ({{bug|346265}})<br>
 
| <br>  
 
| <br>  
| {{bug|346265}}<br>
 
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
| bgcolor="#cccccc" colspan="9" | ''Breakpoints''
+
| bgcolor="#cccccc" |
 +
*Filter runtimes that users won't want to step into (extensible)<br>
 +
 
 +
| 4d<br>
 +
| <br>
 +
| done ({{bug|353050}})
 +
| <br>
 +
| <br>
 +
| bgcolor="#cccccc" align="center" colspan="4" | N/A <br>
 +
|-
 +
| bgcolor="#cccccc" colspan="10" | ''Breakpoints''
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 73: Line 114:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
| {{bug|352582}}<br>
+
| done ({{bug|352582}})
 +
| <br>
 +
| <br>
 
|-
 
|-
| bgcolor="#cccccc" |  
+
| bgcolor="#FF0000" |  
 
*Conditional breakpoints<br>
 
*Conditional breakpoints<br>
  
 +
| 5d<sup>[1]</sup><br>
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|351236}}  
 
| {{bug|351236}}  
 +
| 5d<sup>[1]</sup><br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|351237}}
 
| {{bug|351237}}
 
|-
 
|-
| bgcolor="#cccccc" |  
+
| bgcolor="#FF0000" |  
 
*Hit count on breakpoints
 
*Hit count on breakpoints
  
 +
| 1d<br>
 +
| <br>
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|352585}}  
 
| {{bug|352585}}  
 +
| 1d<br>
 
| <br>  
 
| <br>  
| <br>
 
|
 
 
| <br>  
 
| <br>  
 
| {{bug|352586}}
 
| {{bug|352586}}
 
|-
 
|-
| bgcolor="#cccccc" |  
+
| bgcolor="#FF0000" |  
 
*Watchpoints<br>
 
*Watchpoints<br>
  
 +
| 15d<br>
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|351873}}  
 
| {{bug|351873}}  
 +
| 15d<br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|351874}}
 
| {{bug|351874}}
 
|-
 
|-
| bgcolor="#cccccc" colspan="9" | ''Variables view''<br>
+
| bgcolor="#cccccc" colspan="10" | ''Variables view''<br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
*Variable adapter framework
 +
 
 +
| 2d
 +
| done ({{bug|352771}})
 +
| <br>
 +
| <br>
 +
| <br>
 +
| bgcolor="#cccccc" align="center" colspan="4" | N/A
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 123: Line 178:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| done ({{bug|351854}})
 +
| <br>
 +
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 135: Line 191:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| done ({{bug|351854}})
 +
| <br>
 +
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 146: Line 203:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
| bgcolor="#cccccc" align="center" colspan="4" | N/A<br>
+
| <br>
 +
| bgcolor="#cccccc" align="center" colspan="4" | &nbsp;N/A - not supported in JSGen&nbsp;
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
 
*Arrays<br>
 
*Arrays<br>
  
 +
| 1/2d<sup>[2]</sup><br>
 +
| done ({{bug|352021}})<br>
 
| <br>  
 
| <br>  
| {{bug|352021}}<br>
 
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|  
+
| done ({{bug|351854}})
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
Line 168: Line 227:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| done ({{bug|351854}})
 +
| <br>
 +
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
 
*Dictionaries
 
*Dictionaries
  
 +
| 1/2d<sup>[2]</sup><br>
 +
| done ({{bug|352600}})
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
| {{bug|352600}}
 
 
| <br>  
 
| <br>  
|  
+
| done ({{bug|351854}})
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
 
*ArrayDictionaries
 
*ArrayDictionaries
  
| <br>
+
| bgcolor="#cccccc" align="center" colspan="9" | N/A - not supported in EDT JavaGen or JSGen
| <br>
+
| <br>
+
| {{bug|352602}}
+
| bgcolor="#cccccc" align="center" colspan="4" | N/A
+
 
|-
 
|-
 
| bgcolor="#cccccc" |  
 
| bgcolor="#cccccc" |  
 
*Format display of certain variables<br>
 
*Format display of certain variables<br>
  
 +
| 3d<br>
 +
| done ({{bug|346247}})
 
| <br>  
 
| <br>  
| {{bug|346247}}
 
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|  
+
| done ({{bug|351854}})
 
| <br>  
 
| <br>  
| Will be covered by {{bug|351854}}
+
| <br>
 
|-
 
|-
| bgcolor="#cccccc" |  
+
| bgcolor="#FF0000" |  
 
*Simple value modification of primitives<br>
 
*Simple value modification of primitives<br>
  
 +
| 3d<br>
 
| <br>  
 
| <br>  
| {{bug|346249}}<br>
 
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 +
| {{bug|346249}}
 +
| 1d<br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|352598}}<br>
 
| {{bug|352598}}<br>
 
|-
 
|-
| bgcolor="#cccccc" |  
+
| bgcolor="#FF0000" |  
*Complex value modification of variables (supporting expressions)<br>
+
*Complex value modification of variables<br>
  
 +
| 5d<sup>[1]</sup><br>
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|352595}}  
 
| {{bug|352595}}  
 +
| 4d<br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|352597}}<br>
 
| {{bug|352597}}<br>
 
|-
 
|-
| bgcolor="#cccccc" |  
+
| bgcolor="#FF0000" |  
 
*Build watch expressions from variable context menu<br>
 
*Build watch expressions from variable context menu<br>
  
 +
| 3d<br>
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|351858}}  
 
| {{bug|351858}}  
 +
| 3d<br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|351859}}
 
| {{bug|351859}}
 
|-
 
|-
| bgcolor="#cccccc" | Hot code replace (aka hotswapping)<br>  
+
| bgcolor="#FFFF00" | Hot code replace (aka hotswapping)<br>  
 
| <br>  
 
| <br>  
 
| done (free)<br>  
 
| done (free)<br>  
Line 247: Line 308:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|  
+
| 20d<br>
 +
| <br>
 
| <br>  
 
| <br>  
 
| {{bug|351238}}
 
| {{bug|351238}}
 
|-
 
|-
| bgcolor="#cccccc" | Watch expressions<br>  
+
| bgcolor="#FF0000" | Compile &amp; generate contextual expressions
 +
| 10d
 +
| <br>
 +
| <br>
 +
| <br>
 +
| {{bug|352666}}
 +
| 10d
 +
| <br>
 +
| <br>
 +
| {{bug|352666}}
 +
|-
 +
| bgcolor="#FF0000" | Watch expressions<br>
 +
| 5d<sup>[1]</sup><br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|351240}}  
 
| {{bug|351240}}  
 +
| 4d<sup>[1]</sup><br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|351241}}
 
| {{bug|351241}}
Line 267: Line 341:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|  
+
| 1d<br>
 +
| done ({{bug|352593}})<br>
 
| <br>  
 
| <br>  
| {{bug|352593}}<br>
+
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | Drop to frame<br>  
+
| bgcolor="#FFFF00" | Drop to frame<br>  
 
| <br>  
 
| <br>  
 
| done (free)<br>  
 
| done (free)<br>  
Line 277: Line 352:
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
|  
+
| 3d<br>
 +
| <br>
 
| <br>  
 
| <br>  
 
| {{bug|351239}}
 
| {{bug|351239}}
 
|-
 
|-
| bgcolor="#cccccc" | Hover value in source editor<br>  
+
| bgcolor="#FF0000" | Hover value in source editor<br>
 +
| 4d<br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| <br>  
 
| {{bug|351872}}  
 
| {{bug|351872}}  
 
| <br>  
 
| <br>  
 +
| 4d<br>
 
| <br>  
 
| <br>  
|
 
 
| <br>  
 
| <br>  
 
| {{bug|351872}}
 
| {{bug|351872}}
 
|}
 
|}
  
<br>
+
<br>  
 +
 
 +
[1] Depends on {{bug|352666}} which is sized at 10 days<br>
 +
 
 +
[2] Depends on {{bug|352771}} which is sized at 2 days<br>
 +
 
 +
[[Category:EDT]]

Latest revision as of 08:18, 1 May 2012

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 is a port from the RBD EGL Rich UI debugger.


Open bugs

Open enhancement requests

Extending the debugger

Regression testing the debugger


In the following table:

  • gray = done for both debuggers
  • yellow = done for one debugger but not the other
  • red = not yet supported in either debugger
Function Java
JavaScript

Sizing
0.7
0.8 1.0
Future
Sizing
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

done (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 done (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)



 N/A - not supported in JSGen 
  • 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
N/A - not supported in EDT JavaGen or JSGen
  • Format display of certain variables
3d
done (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 (bug 352593)


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