ac50c79a3e
V8 has internal mechanism to ignore steps and breaks inside internal scripts, in this CL it's reused for blackboxing implementation. Advantages: - much faster blackboxing implementation (before we at least wrap and collect current call stack for each step), - get rid of StepFrame action and potential pause in blackboxed code after N StepFrame steps, - simplification of debugger agent logic. Disadvtanges: - currently when user was paused in blackboxed code (e.g. on breakpoint) and then makes step action, debugger ignores blackboxed state of the script and allows to use step actions as usual - this behavior is regressed, we still able to support it on frontend side. Current state and proposed changes for blackboxing: https://docs.google.com/document/d/1hnzaXPAN8_QC5ENxIgxgMNDbXLraM_OXT73rAyijTF8/edit?usp=sharing BUG=v8:5842 R=yangguo@chromium.org,dgozman@chromium.org,alph@chromium.org Review-Url: https://codereview.chromium.org/2633803002 Cr-Commit-Position: refs/heads/master@{#42614}
141 lines
2.3 KiB
Plaintext
141 lines
2.3 KiB
Plaintext
Checks framework debugging with blackboxed ranges.
|
|
|
|
Running test: testEntireScript
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
|
|
Running test: testFooNotBlackboxed
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
foo (test.js:8:12)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:9:2)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:10:0)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testFooBlackboxed
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
testFunction (test.js:14:21)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:12:2)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:13:0)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
testFunction (test.js:16:0)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testBooPartiallyBlackboxed1
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
foo (test.js:8:12)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:9:2)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:12:2)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:13:0)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:10:0)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testBooPartiallyBlackboxed2
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
foo (test.js:8:12)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:9:2)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:12:2)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:13:0)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:10:0)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
|
|
Running test: testBooPartiallyBlackboxed3
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
}
|
|
}
|
|
foo (test.js:8:12)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:9:2)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:12:2)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
boo (test.js:13:0)
|
|
foo (test.js:9:9)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|
|
foo (test.js:10:0)
|
|
testFunction (test.js:15:2)
|
|
(anonymous) (expr.js:0:0)
|
|
|