v8/tools/debug_helper
Seth Brenith dcb828b46f [tools] Add in-object properties to debug_helper
Until now, the in-object properties on JSObject have been invisible to
tools using the postmortem debugging library. With this change, those
tools will get enough information to show a flat list of property
values. This is still less powerful than the runtime printers, which can
show the corresponding key for each value, but it's a big step up from
manually inspecting memory.

This change basically requires a reimplementation of
Map::GetInObjectProperties for postmortem debugging. I'm not
enthusiastic about duplicating this logic, but it's pretty small and I
don't see any good alternatives.

As a drive-by cleanup, I moved some inline string literals into a batch
of constexpr char arrays.

Bug: v8:9376
Change-Id: Ia24c05f6e823086babaa07882d0d320ab9a225db
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1930174
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#65183}
2019-11-26 16:56:26 +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 [torque][tools] Define layout of DescriptorArray for postmortem tools 2019-11-20 16:56:39 +00:00
debug-helper.h [torque][tools] Define layout of DescriptorArray for postmortem tools 2019-11-20 16:56:39 +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 [tools] Add in-object properties to debug_helper 2019-11-26 16:56:26 +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.