653a9e2bd3
If protocol client needs to make step-into async call: - pause before async call using any Debugger agent capabilities, - call Debugger.stepInto with breakOnAsyncCall flag, - wait for Debugger.paused event, this event will contain asyncCallStackTrace if async call is scheduled, - call Debugger.pauseOnAsyncCall on each known target, - resume execution in current debugger by Debugger.resume. Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I40c56278e7b1ceafc3bf81608b8ca6716c2b3168 Reviewed-on: https://chromium-review.googlesource.com/773573 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#49594}
209 lines
3.4 KiB
Plaintext
209 lines
3.4 KiB
Plaintext
Checks Debugger.scheduleStepIntoAsync.
|
|
|
|
Running test: testScheduleErrors
|
|
paused at:
|
|
function testNoScheduledTask() {
|
|
#debugger;
|
|
return 42;
|
|
|
|
paused at:
|
|
debugger;
|
|
#return 42;
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
return 42;#
|
|
}
|
|
|
|
|
|
Running test: testSimple
|
|
paused at:
|
|
function testSimple() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 2);
|
|
}
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().then(#v => v * 2);
|
|
}
|
|
|
|
|
|
Running test: testNotResolvedPromise
|
|
paused at:
|
|
var p = new Promise(resolve => resolveCallback = resolve);
|
|
#debugger;
|
|
p.then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
p.#then(v => v * 2);
|
|
resolveCallback();
|
|
|
|
paused at:
|
|
debugger;
|
|
p.#then(v => v * 2);
|
|
resolveCallback();
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
p.then(#v => v * 2);
|
|
resolveCallback();
|
|
|
|
|
|
Running test: testTwoAsyncTasks
|
|
paused at:
|
|
function testTwoAsyncTasks() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().then(#v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
|
|
Running test: testTwoTasksAndGoToSecond
|
|
paused at:
|
|
function testTwoAsyncTasks() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
#Promise.resolve().then(v => v * 4);
|
|
}
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().#then(v => v * 4);
|
|
}
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().then(#v => v * 4);
|
|
}
|
|
|
|
|
|
Running test: testTwoAsyncTasksWithBreak
|
|
paused at:
|
|
function testTwoAsyncTasksWithBreak() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
debugger;
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 2);
|
|
debugger;
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 4);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 4);
|
|
}
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().then(#v => v * 4);
|
|
}
|
|
|
|
|
|
Running test: testPromiseAll
|
|
paused at:
|
|
function testPromiseAll() {
|
|
#debugger;
|
|
Promise.all([ Promise.resolve(), Promise.resolve() ]).then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.all([ Promise.resolve(), Promise.resolve() ]).then(v => v * 2);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.all([ Promise.resolve(), Promise.resolve() ]).#then(v => v * 2);
|
|
}
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.all([ Promise.resolve(), Promise.resolve() ]).then(#v => v * 2);
|
|
}
|
|
|
|
|
|
Running test: testWithBlackboxedCode
|
|
paused at:
|
|
function testBlackboxedCreatePromise() {
|
|
#debugger;
|
|
createPromise().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#createPromise().then(v => v * 2);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
createPromise().#then(v => v * 2);
|
|
}
|
|
|
|
asyncCallStackTraceId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
createPromise().then(#v => v * 2);
|
|
}
|
|
|