v8/tools/debug_helper
Z Nguyen-Huu 3bb899eb8a [v8windbg] Generate debug macros files
Docs: https://docs.google.com/document/d/13n1qaB6A-gvgWc9NDhWm-UPuOqow_Y0DNgCeTbtIotI

Modify that C++ backend so that it can emit either runtime C++ or
postmortem debugging code. When in postmortem debugging mode, the
overall code structure would look similar with some difference:
1. Instead of passing an Isolate* everywhere, we pass a MemoryAccessor.
2. Instead of runtime class names like String, we use uintptr_t
3. When loading data from objects, instead of TaggedField<T>::load or
Object::ReadField (which read from the current process), we use the
MemoryAccessor and read data from the debuggee process.
4. Return values should be wrapped in the Value struct.

Implement the debug accessors for complex length expressions and add
test for such class (SmallOrderedHashSet).

Change-Id: I34107c92b31ed4e07bb628ae58c84487e41ba648
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477921
Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#72148}
2021-01-19 12:07:38 +00:00
..
BUILD.gn [v8windbg] Generate debug macros files 2021-01-19 12:07:38 +00:00
compiler-types.cc [v8windbg] Show bitset name of compiler type 2020-06-23 19:36:36 +00:00
debug-helper-internal.cc Reland "[torque] refactor: use -tq only in filenames derived from .tq files" 2020-09-25 15:04:18 +00:00
debug-helper-internal.h [v8windbg] Display js function only for js frame 2020-09-21 07:50:14 +00:00
debug-helper.h [v8windbg] Display js function only for js frame 2020-09-21 07:50:14 +00:00
debug-macro-shims.h [v8windbg] Generate debug macros files 2021-01-19 12:07:38 +00:00
DEPS Reland "Add postmortem debugging helper library" 2019-07-31 14:30:19 +00:00
gen-heap-constants.py [tools] Fix v8windbg behavior on Map's bit_field2 2020-03-09 17:36:27 +00:00
get-object-properties.cc [cleanup] Remove remaining uses of DISALLOW_COPY_AND_ASSIGN 2020-12-03 12:24:03 +00:00
heap-constants.cc [tools] Fix v8windbg behavior on Map's bit_field2 2020-03-09 17:36:27 +00:00
heap-constants.h [tools] Fix v8windbg behavior on Map's bit_field2 2020-03-09 17:36:27 +00:00
list-object-classes.cc Reland "[torque] refactor: use -tq only in filenames derived from .tq files" 2020-09-25 15:04:18 +00:00
OWNERS Add myself as an owner for debug-helper and v8windbg 2020-09-21 15:19:27 +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.