v8/tools/debug_helper
Seth Brenith 1d3c4975be [tools] Use instance types of known Maps in v8_debug_helper
If we can read an object's Map pointer but not any data from the Map
itself, we may still be able to accurately describe the object's type if
the Map pointer matches one of the known Maps from the snapshot.
GetObjectProperties uses that data in one of two ways:
- If it is sure that the Map pointer matches a known Map, then it uses
  the type from that Map and continues as if it read the type normally.
- If the Map pointer is at the right offset within a heap page to match
  a known Map, but the caller didn't provide the addresses of the first
  pages in Map space or read-only space, then the type of that Map is
  just a guess and gets returned in a separate array. This gives the
  caller the opportunity to present guessed types to the user, and
  perhaps call again using the guessed type as the type hint.

Bug: v8:9376
Change-Id: I187f67b77e76699863a14534a9d635b79f654124
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1787986
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63908}
2019-09-20 16:00:59 +00:00
..
BUILD.gn [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
debug-helper-internal.cc [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
debug-helper-internal.h [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
debug-helper.h [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +00:00
DEPS Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
gen-heap-constants.py [tools] Teach v8_debug_helper where heap spaces start in ptr-compr mode 2019-09-09 16:14:12 +00:00
get-object-properties.cc [tools] Use instance types of known Maps in v8_debug_helper 2019-09-20 16:00:59 +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
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.