0c3fdff2d2
The previous implementation would not explicitly send `Debugger.paused` events for instrumentation breakpoints if they were to overlap with breaks due to: * regular breakpoints * OOM * exceptions * asserts This CL is a step towards making sure that a separate `Debugger.paused` event is always sent for an instrumentation breakpoint. In some cases where we have overlapping reasons but only know of one, the 'instrumentation' reason, we still just send out one paused event with the reason being `instrumentation`. Drive-by: send instrumentation notification to all sessions, remember which breakpoints are instrumentation breakpoints Bug: chromium:1229541, chromium:1133307 Change-Id: Ie15438f78b8b81a89c64fa291ce7ecc36ebb2182 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211892 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#77333}
85 lines
2.7 KiB
Plaintext
85 lines
2.7 KiB
Plaintext
Test instrumentation breakpoints in wasm.
|
|
|
|
Running test: testBreakInStartFunction
|
|
Setting instrumentation breakpoint
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Compiling wasm module.
|
|
Paused at v8://test/compile_module with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Instantiating module.
|
|
Paused at v8://test/instantiate with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Paused at wasm://wasm/20da547a with reason "instrumentation".
|
|
Script wasm://wasm/20da547a byte offset 26: Wasm opcode 0x01 (kExprNop)
|
|
Hit breakpoints: []
|
|
Instantiating a second time (should trigger no breakpoint).
|
|
Paused at v8://test/instantiate2 with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Done.
|
|
|
|
Running test: testBreakInStartFunctionCompileTwice
|
|
Setting instrumentation breakpoint
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Instantiating module.
|
|
Paused at v8://test/instantiate with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Paused at wasm://wasm/20da547a with reason "instrumentation".
|
|
Script wasm://wasm/20da547a byte offset 26: Wasm opcode 0x01 (kExprNop)
|
|
Hit breakpoints: []
|
|
Instantiating a second time (should trigger another breakpoint).
|
|
Paused at v8://test/instantiate with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Paused at wasm://wasm/20da547a with reason "instrumentation".
|
|
Script wasm://wasm/20da547a byte offset 26: Wasm opcode 0x01 (kExprNop)
|
|
Hit breakpoints: []
|
|
Done.
|
|
|
|
Running test: testBreakInExportedFunction
|
|
Setting instrumentation breakpoint
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Instantiating wasm module.
|
|
Paused at v8://test/instantiate with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Calling exported function 'func' (should trigger a breakpoint).
|
|
Paused at v8://test/call_func with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Paused at wasm://wasm/8c388106 with reason "instrumentation".
|
|
Script wasm://wasm/8c388106 byte offset 33: Wasm opcode 0x01 (kExprNop)
|
|
Hit breakpoints: []
|
|
Calling exported function 'func' a second time (should trigger no breakpoint).
|
|
Paused at v8://test/call_func with reason "instrumentation".
|
|
Hit breakpoints: []
|
|
Done.
|
|
|
|
Running test: testBreakOnlyWithSourceMap
|
|
Setting instrumentation breakpoint for source maps only
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
breakpointId : <breakpointId>
|
|
}
|
|
}
|
|
Instantiating wasm module without source map.
|
|
Calling exported function 'func' (should trigger no breakpoint).
|
|
Instantiating wasm module with source map.
|
|
Calling exported function 'func' (should trigger a breakpoint).
|
|
Paused at wasm://wasm/c8e3a856 with reason "instrumentation".
|
|
Script wasm://wasm/c8e3a856 byte offset 33: Wasm opcode 0x01 (kExprNop)
|
|
Hit breakpoints: []
|
|
Done.
|