40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
|
// Copyright 2018 the V8 project authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
let {session, contextGroup, Protocol} =
|
||
|
InspectorTest.start('Breakpoint in liveedited script');
|
||
|
|
||
|
contextGroup.addScript(
|
||
|
`function foo() {
|
||
|
}
|
||
|
var f = foo;`);
|
||
|
|
||
|
const newSource = `function boo() {
|
||
|
}
|
||
|
function foo() {
|
||
|
}
|
||
|
f = foo;`;
|
||
|
|
||
|
(async function test() {
|
||
|
session.setupScriptMap();
|
||
|
Protocol.Debugger.enable();
|
||
|
const {params: {scriptId}} = await Protocol.Debugger.onceScriptParsed();
|
||
|
InspectorTest.log('Update script source');
|
||
|
let {result} = await Protocol.Debugger.setScriptSource(
|
||
|
{scriptId, scriptSource: newSource})
|
||
|
InspectorTest.logMessage(result);
|
||
|
InspectorTest.log('Set breakpoint');
|
||
|
({result} = await Protocol.Debugger.setBreakpoint({location:{
|
||
|
scriptId,
|
||
|
lineNumber: 3,
|
||
|
columnNumber: 0
|
||
|
}}));
|
||
|
InspectorTest.logMessage(result);
|
||
|
InspectorTest.log('Call function foo and dump stack');
|
||
|
Protocol.Runtime.evaluate({expression: 'foo()'});
|
||
|
const {params:{callFrames}} = await Protocol.Debugger.oncePaused();
|
||
|
session.logCallFrames(callFrames);
|
||
|
InspectorTest.completeTest();
|
||
|
})();
|