v8/test/inspector
Jaroslav Sevcik 4c3266841c [inspector] Handle instrumentation break with multiple sessions
Currently, any session can resume instrumentation breaks by sending
Debugger.resume command. That can lead to unreliable breakpoint
placement because sessions can resume too early.

The early resumption can happen in two ways:

- When we have two instrumented sessions, the first one to resume
  can prevent the other one from setting its breakpoints
  before executing the code.

- With one instrumented session and one without instrumentation
  breakpoints, the uninstrumented session's Debugger.resume
  command can resume the instrumentation pause before the
  instrumented session can set its breakpoints.

This patch fixes both of these issues by changing the instrumentation
pause resumption logic to take note of the sessions that were notified
about the instrumentation breakpoints. The debugger will only resume
once all those sessions resume (or disconnect).

Bug: chromium:1354043
Change-Id: I84cf16b57187dbb40645b2f7ec2e08f0078539dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4100466
Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84827}
2022-12-14 06:01:22 +00:00
..
console [inspector] Rename console.scheduleTask to console.createTask 2022-07-27 06:09:27 +00:00
cpu-profiler [wasm] Add more output to console-profile-wasm test 2022-10-17 15:18:25 +00:00
debugger [inspector] Handle instrumentation break with multiple sessions 2022-12-14 06:01:22 +00:00
heap-profiler Don't run sampling-heap-profiler-flags with stress-incremental-marking 2022-09-15 12:53:28 +00:00
regress [debug] Only pause once when we throw in an async generator 2022-12-09 12:49:29 +00:00
runtime [inspector] Pass the Context into terminateExecution 2022-12-01 05:40:05 +00:00
sessions
BUILD.gn
DEPS [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
DIR_METADATA
frontend-channel.h [execution] Pass microtask queue from Context to MicrotasksScope 2022-10-19 14:56:37 +00:00
inspector-test.cc [test] Move inspector stopping to session 2022-12-13 06:59:09 +00:00
inspector.status [inspector] Remove Type Profiler 2022-10-10 11:50:16 +00:00
isolate-data.cc [test] Move inspector stopping to session 2022-12-13 06:59:09 +00:00
isolate-data.h [test] Move inspector stopping to session 2022-12-13 06:59:09 +00:00
json-parse-expected.txt
json-parse.js
OWNERS
print-method-not-found-expected.txt
print-method-not-found.js
protocol-test.js [test] Move inspector stopping to session 2022-12-13 06:59:09 +00:00
task-runner.cc Reland "[flags] Remove FLAG_* aliases" 2022-10-14 13:13:55 +00:00
task-runner.h [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
tasks.cc Fix gcc build following https://crrev.com/c/v8/v8/+/3976353 2022-11-10 22:35:41 +00:00
tasks.h DevTools: use a barrier to sync runIfWaitingForDebugger from multiple sessions 2022-11-10 20:23:01 +00:00
testcfg.py [test] Refactor testrunner (4) 2022-07-18 09:52:24 +00:00
utils.cc
utils.h [test] Remove some unused includes (2) 2022-07-19 08:55:55 +00:00
wasm-inspector-test.js [testing][wasm] Inspector: Print 'null' for empty table entries 2022-11-11 10:53:52 +00:00