Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EDT:Debug"
(20 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 | + | The JavaScript-based debugger is a port from the RBD EGL Rich UI debugger. |
<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] | ||
+ | |||
+ | [[EDT:Debug Extensibility|Extending the debugger]]<br> | ||
+ | |||
+ | [[EDT:Debug Regression Testing|Regression testing the debugger]] | ||
<br> | <br> | ||
− | {| cellspacing="1" cellpadding="1" border="1" width="900 | + | 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=" | + | | 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 22: | 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>''' | ||
− | | bgcolor="#cccccc" align="center" valign="middle" | '''Sizing | + | | 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" | '''1.0<br>''' | | bgcolor="#cccccc" align="center" valign="middle" | '''1.0<br>''' | ||
Line 32: | Line 41: | ||
| <br> | | <br> | ||
| done<br> | | done<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| 15d<br> | | 15d<br> | ||
+ | | done ({{bug|351854}}) | ||
| <br> | | <br> | ||
+ | | <br> | ||
+ | |- | ||
+ | | bgcolor="#cccccc" | | ||
+ | *Debug on a server such as Apache Tomcat | ||
+ | |||
+ | | 3d | ||
+ | | done ({{bug|353046}}) | ||
| <br> | | <br> | ||
− | | | + | | <br> |
+ | | <br> | ||
+ | | bgcolor="#cccccc" align="center" colspan="4" | N/A | ||
|- | |- | ||
− | | bgcolor="#cccccc" colspan=" | + | | bgcolor="#cccccc" colspan="10" | ''Stepping through statements''<br> |
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
Line 50: | Line 70: | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
+ | | done ({{bug|351854}}) | ||
| <br> | | <br> | ||
− | | | + | | <br> |
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
Line 58: | Line 79: | ||
| <br> | | <br> | ||
| done (free)<br> | | done (free)<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
Line 63: | Line 85: | ||
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
− | * | + | *Filter runtimes that users won't want to step into (basic)<br> |
− | | | + | | 1d<br> |
− | | {{bug|346265}}<br> | + | | done ({{bug|346265}})<br> |
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| bgcolor="#cccccc" align="center" colspan="4" | N/A | | bgcolor="#cccccc" align="center" colspan="4" | N/A | ||
|- | |- | ||
− | | bgcolor="#cccccc" colspan=" | + | | 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 80: | Line 113: | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | |||
− | |||
| <br> | | <br> | ||
− | | {{bug|352582}}<br> | + | | <br> |
+ | | done ({{bug|352582}}) | ||
+ | | <br> | ||
+ | | <br> | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | |
*Conditional breakpoints<br> | *Conditional breakpoints<br> | ||
| 5d<sup>[1]</sup><br> | | 5d<sup>[1]</sup><br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| {{bug|351236}} | | {{bug|351236}} | ||
− | | 5d<br> | + | | 5d<sup>[1]</sup><br> |
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351237}} | | {{bug|351237}} | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | |
*Hit count on breakpoints | *Hit count on breakpoints | ||
+ | | 1d<br> | ||
| <br> | | <br> | ||
− | |||
| <br> | | <br> | ||
| <br> | | <br> | ||
+ | | {{bug|352585}} | ||
| 1d<br> | | 1d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|352586}} | | {{bug|352586}} | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | |
*Watchpoints<br> | *Watchpoints<br> | ||
| 15d<br> | | 15d<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| {{bug|351873}} | | {{bug|351873}} | ||
| 15d<br> | | 15d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351874}} | | {{bug|351874}} | ||
|- | |- | ||
− | | bgcolor="#cccccc" colspan=" | + | | 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 131: | Line 178: | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | |||
| <br> | | <br> | ||
− | | | + | | done ({{bug|351854}}) |
+ | | <br> | ||
+ | | <br> | ||
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
Line 143: | Line 191: | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | |||
| <br> | | <br> | ||
− | | | + | | done ({{bug|351854}}) |
+ | | <br> | ||
+ | | <br> | ||
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
Line 155: | Line 204: | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | | | + | | bgcolor="#cccccc" align="center" colspan="4" | N/A - not supported in JSGen |
− | | | + | |
− | + | ||
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
*Arrays<br> | *Arrays<br> | ||
− | | 2d<sup>[2]</sup><br> | + | | 1/2d<sup>[2]</sup><br> |
− | | {{bug|352021}}<br> | + | | done ({{bug|352021}})<br> |
| <br> | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | |||
| <br> | | <br> | ||
− | | | + | | done ({{bug|351854}}) |
+ | | <br> | ||
+ | | <br> | ||
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
Line 179: | Line 227: | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | |||
| <br> | | <br> | ||
− | | | + | | 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> | | <br> | ||
− | | | + | | done ({{bug|351854}}) |
| <br> | | <br> | ||
− | | | + | | <br> |
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
*ArrayDictionaries | *ArrayDictionaries | ||
− | | | + | | bgcolor="#cccccc" align="center" colspan="9" | N/A - not supported in EDT JavaGen or JSGen |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| bgcolor="#cccccc" | | | bgcolor="#cccccc" | | ||
Line 211: | Line 254: | ||
| 3d<br> | | 3d<br> | ||
− | | {{bug|346247}} | + | | done ({{bug|346247}}) |
| <br> | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
− | |||
| <br> | | <br> | ||
− | | | + | | done ({{bug|351854}}) |
+ | | <br> | ||
+ | | <br> | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | |
*Simple value modification of primitives<br> | *Simple value modification of primitives<br> | ||
| 3d<br> | | 3d<br> | ||
− | |||
| <br> | | <br> | ||
| <br> | | <br> | ||
+ | | <br> | ||
+ | | {{bug|346249}} | ||
| 1d<br> | | 1d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|352598}}<br> | | {{bug|352598}}<br> | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | |
*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> | ||
| <br> | | <br> | ||
| {{bug|352595}} | | {{bug|352595}} | ||
| 4d<br> | | 4d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|352597}}<br> | | {{bug|352597}}<br> | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | |
*Build watch expressions from variable context menu<br> | *Build watch expressions from variable context menu<br> | ||
| 3d<br> | | 3d<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| {{bug|351858}} | | {{bug|351858}} | ||
| 3d<br> | | 3d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351859}} | | {{bug|351859}} | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FFFF00" | Hot code replace (aka hotswapping)<br> |
| <br> | | <br> | ||
| done (free)<br> | | done (free)<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| 20d<br> | | 20d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351238}} | | {{bug|351238}} | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | Compile & generate contextual expressions |
| 10d | | 10d | ||
− | | | + | | <br> |
− | | | + | | <br> |
+ | | <br> | ||
| {{bug|352666}} | | {{bug|352666}} | ||
− | | 10d | + | | 10d |
− | | | + | | <br> |
− | | | + | | <br> |
| {{bug|352666}} | | {{bug|352666}} | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | Watch expressions<br> |
| 5d<sup>[1]</sup><br> | | 5d<sup>[1]</sup><br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| {{bug|351240}} | | {{bug|351240}} | ||
− | | 4d<br> | + | | 4d<sup>[1]</sup><br> |
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351241}} | | {{bug|351241}} | ||
Line 288: | Line 338: | ||
| <br> | | <br> | ||
| done ({{bug|346256}})<br> | | done ({{bug|346256}})<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| 1d<br> | | 1d<br> | ||
− | | | + | | done ({{bug|352593}})<br> |
| <br> | | <br> | ||
− | | | + | | <br> |
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FFFF00" | Drop to frame<br> |
| <br> | | <br> | ||
| done (free)<br> | | done (free)<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| <br> | | <br> | ||
| 3d<br> | | 3d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351239}} | | {{bug|351239}} | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#FF0000" | Hover value in source editor<br> |
| 4d<br> | | 4d<br> | ||
+ | | <br> | ||
| <br> | | <br> | ||
| {{bug|351872}} | | {{bug|351872}} | ||
| <br> | | <br> | ||
| 4d<br> | | 4d<br> | ||
− | | | + | | <br> |
| <br> | | <br> | ||
| {{bug|351872}} | | {{bug|351872}} | ||
Line 320: | Line 373: | ||
[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] | + | [2] Depends on {{bug|352771}} which is sized at 2 days<br> |
− | + | ||
− | + | ||
− | [ | + | [[Category:EDT]] |
Latest revision as of 09: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.
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) | |
|
|
3d | done (bug 353046) | |
|
|
N/A | |||
Stepping through statements | |||||||||
|
|
done (free) |
|
|
|
|
done (bug 351854) | |
|
|
|
done (free) |
|
|
|
N/A | |||
|
1d |
done (bug 346265) |
|
|
|
N/A | |||
|
4d |
|
done (bug 353050) | |
|
N/A | |||
Breakpoints | |||||||||
|
|
done |
|
|
|
|
done (bug 352582) | |
|
|
5d[1] |
|
|
|
bug 351236 | 5d[1] |
|
|
bug 351237 |
|
1d |
|
|
|
bug 352585 | 1d |
|
|
bug 352586 |
|
15d |
|
|
|
bug 351873 | 15d |
|
|
bug 351874 |
Variables view | |||||||||
|
2d | done (bug 352771) | |
|
|
N/A | |||
|
|
done |
|
|
|
|
done (bug 351854) | |
|
|
|
done (bug 346252) |
|
|
|
|
done (bug 351854) | |
|
|
|
done (bug 346254) |
|
|
|
N/A - not supported in JSGen | |||
|
1/2d[2] |
done (bug 352021) |
|
|
|
|
done (bug 351854) | |
|
|
|
done | |
|
|
|
done (bug 351854) | |
|
|
1/2d[2] |
done (bug 352600) | |
|
|
|
done (bug 351854) | |
|
|
N/A - not supported in EDT JavaGen or JSGen | ||||||||
|
3d |
done (bug 346247) | |
|
|
|
done (bug 351854) | |
|
|
3d |
|
|
|
bug 346249 | 1d |
|
|
bug 352598 |
|
5d[1] |
|
|
|
bug 352595 | 4d |
|
|
bug 352597 |
|
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