18e1eec3d7
The debug_helper library is intended to be used from a debugger process which is attached to the debuggee process that includes V8 content. When reading memory from the debuggee process, debug_helper should use the MemoryAccessor function which reads remote memory rather than dereferencing pointers into the debugger's memory space and potentially crashing. I recently noticed that v8windbg crashes on external strings because the sandbox has been enabled, and the debug_helper code for external strings was incorrectly reading memory from the debugger process rather than the debuggee. You might ask: why wasn't this caught in automated tests? There is a test, cctest/test-debug-helper, which exercises this exact code, but it does so with the debugger and debuggee in the same process. Setting up a proper cross-process test would be much more complex and platform-specific, and this class of bug has never turned up before, so I think the existing test coverage is adequate. Change-Id: Ib8730dd47a925f4229962d27b576a759c5a9a9ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4043821 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#84520} |
||
---|---|---|
.github | ||
bazel | ||
build_overrides | ||
custom_deps | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.bazelrc | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.flake8 | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gn | ||
.mailmap | ||
.style.yapf | ||
.vpython3 | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.bazel | ||
BUILD.gn | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
COMMON_OWNERS | ||
DEPS | ||
DIR_METADATA | ||
ENG_REVIEW_OWNERS | ||
INFRA_OWNERS | ||
INTL_OWNERS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LOONG_OWNERS | ||
MIPS_OWNERS | ||
OWNERS | ||
PPC_OWNERS | ||
PRESUBMIT.py | ||
README.md | ||
RISCV_OWNERS | ||
S390_OWNERS | ||
WATCHLISTS | ||
WORKSPACE |
V8 JavaScript Engine
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://v8.dev/docs
Getting the Code
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies.
To stay up to date, run
git pull origin
gclient sync
For fetching all branches, add the following into your remote
configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
fetch = +refs/tags/*:refs/tags/*
Contributing
Please follow the instructions mentioned at v8.dev/docs/contribute.