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}
97 lines
2.1 KiB
Plaintext
97 lines
2.1 KiB
Plaintext
Debugger.setInstrumentationBreakpoint
|
|
|
|
Running test: testSetTwice
|
|
set breakpoint..
|
|
{
|
|
breakpointId : <breakpointId>
|
|
}
|
|
set breakpoint again..
|
|
{
|
|
error : {
|
|
code : -32000
|
|
message : Instrumentation breakpoint is already enabled.
|
|
}
|
|
id : <messageId>
|
|
}
|
|
remove breakpoint..
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
|
|
Running test: testScriptParsed
|
|
set breakpoint and evaluate script..
|
|
paused with reason: instrumentation
|
|
{
|
|
scriptId : <scriptId>
|
|
url : foo.js
|
|
}
|
|
set breakpoint and evaluate script with sourceMappingURL..
|
|
paused with reason: instrumentation
|
|
{
|
|
scriptId : <scriptId>
|
|
sourceMapURL : map.js
|
|
url : foo.js
|
|
}
|
|
remove breakpoint..
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
evaluate script again..
|
|
|
|
Running test: testScriptWithSourceMapParsed
|
|
set breakpoint for scriptWithSourceMapParsed..
|
|
evaluate script without sourceMappingURL..
|
|
evaluate script with sourceMappingURL..
|
|
paused with reason: instrumentation
|
|
{
|
|
scriptId : <scriptId>
|
|
sourceMapURL : map.js
|
|
url : foo.js
|
|
}
|
|
remove breakpoint..
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
evaluate script without sourceMappingURL..
|
|
evaluate script with sourceMappingURL..
|
|
|
|
Running test: testBlackboxing
|
|
set breakpoint and evaluate blackboxed script..
|
|
evaluate not blackboxed script..
|
|
paused with reason: instrumentation
|
|
{
|
|
scriptId : <scriptId>
|
|
url : bar.js
|
|
}
|
|
evaluate blackboxed script that contains not blackboxed one..
|
|
paused with reason: instrumentation
|
|
{
|
|
scriptId : <scriptId>
|
|
url : bar.js
|
|
}
|
|
|
|
Running test: testCompileFirstRunLater
|
|
set breakpoint for scriptWithSourceMapParsed..
|
|
compile script with sourceMappingURL..
|
|
evaluate script without sourceMappingURL..
|
|
run previously compiled script with sourceMappingURL..
|
|
paused with reason: instrumentation
|
|
{
|
|
scriptId : <scriptId>
|
|
sourceMapURL : boo.js
|
|
url : foo.js
|
|
}
|
|
|
|
Running test: testCoincideWithRegularBreakpoint
|
|
regular breakpoint and instrumentation breakpoint are reported
|
|
Set breakpoint: 8:beforeScriptExecution
|
|
Set breakpoint: 1:0:0:test.js
|
|
paused with reason: instrumentation and breakpoints:
|
|
paused with reason: other and breakpoints: 1:0:0:test.js
|