v8/tools/debug_helper
Seth Brenith 4d0360aa84 [tools] Add list of classes to v8_debug_helper
This change extends v8_debug_helper to export a new method that returns
a list of all known heap object types.

Why? We can substantially improve the user experience in our work-in-
progress WinDbg extension if we register handlers not only for
v8::internal::Object but for every specific HeapObject type. This has
two benefits:

- You save a click: if you're expanding a local variable of a more
  specific type than Object, you can see properties immediately rather
  than first needing to expand a sub-item that casts the variable to
  Object.
- You retain the type hint: GetObjectProperties accepts a type hint
  string, and it's super important to pass it when working in a crash
  dump because the object's Map is probably inaccessible. If we have to
  cast to Object first, we lose this data.

Bug: v8:9376
Change-Id: I4d635a1826574a3d08ac657e848e1fe7b83849fe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822859
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#64331}
2019-10-16 15:35:18 +00:00
..
BUILD.gn [tools] Add list of classes to v8_debug_helper 2019-10-16 15:35:18 +00:00
debug-helper-internal.cc Update postmortem tools to use unsigned compressed pointers 2019-10-15 14:39:10 +00:00
debug-helper-internal.h [tools] Add list of classes to v8_debug_helper 2019-10-16 15:35:18 +00:00
debug-helper.h [tools] Add list of classes to v8_debug_helper 2019-10-16 15:35:18 +00:00
DEPS Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
gen-heap-constants.py Update postmortem tools to use unsigned compressed pointers 2019-10-15 14:39:10 +00:00
get-object-properties.cc Use consistent capitalization rules for instance types 2019-10-09 17:44:42 +00:00
heap-constants.cc [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
heap-constants.h [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
list-object-classes.cc [tools] Add list of classes to v8_debug_helper 2019-10-16 15:35:18 +00:00
README.md Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00

V8 debug helper

This library is for debugging V8 itself, not debugging JavaScript running within V8. It is designed to be called from a debugger extension running within a native debugger such as WinDbg or LLDB. It can be used on live processes or crash dumps, and cannot assume that all memory is available in a dump.