My favorites | Sign in
v8
Project Home Downloads Wiki Issues Source Code Search
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2362: Display hidden stack values: return values and exceptions
8 people starred this issue and may be notified of changes. Back to list
 
Project Member Reported by peter.ry...@gmail.com, Oct 13, 2012
V8 debug API and protocol should expose the following stack values, currently invisible:

- a return value, when paused below return statement
- a return value, when paused inside finally after return executed
- an exception being thrown, when paused inside finally
- when paused inside complex expression, sub-expression results such as:
  * function calls,
  * value conversion,
  * method resolved function
  * etc

See related issue from Chromium project:
https://code.google.com/p/chromium/issues/detail?id=155730
Oct 13, 2012
Project Member #1 peter.ry...@gmail.com
Implementation ideas:

1. All the values are stored on stack indeed.
2. Debug stack analyzer should be able to fetch those value and return them to user more-or-less annotated.
3. An annotation in form of <function return|method resolve|...> plus source code position is probably optimal. A raw unannotated set of temporary values could be returned as well, but it looks really poor.
4. Rinfo record could store these annotations. The simplest approach is to annotate all values in each debug slot rinfo. This could nonoptimal though, because some stack slot annotation might be repeated several times.
5. Compiler can track temporary stack slot usage by storing pointers to AST nodes in stack – hopefully this is cheap.
Oct 16, 2012
Project Member #2 yurys@chromium.org
(No comment was entered for this change.)
Cc: yurys@chromium.org
Oct 28, 2013
Project Member #3 aand...@chromium.org
(No comment was entered for this change.)
Status: Assigned
Owner: yangguo@chromium.org
Cc: aand...@chromium.org
Oct 28, 2013
Project Member #4 aand...@chromium.org
- a return value, when paused below return statement
this was implemented in https://codereview.chromium.org/2783002/

Oct 28, 2013
Project Member #5 aand...@chromium.org
(No comment was entered for this change.)
Blocking: chromium:155730
Sign in to add a comment

Powered by Google Project Hosting