%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// Flags: --expose-internals 'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); const assert = require('assert'); const { Session } = require('inspector'); const path = require('path'); const { pathToFileURL } = require('url'); function debugged() { return 42; } async function test() { const session1 = new Session(); const session2 = new Session(); session1.connect(); session2.connect(); let session1Paused = false; let session2Paused = false; session1.on('Debugger.paused', () => session1Paused = true); session2.on('Debugger.paused', () => session2Paused = true); console.log('Connected'); session1.post('Debugger.enable'); session2.post('Debugger.enable'); console.log('Debugger was enabled'); await new Promise((resolve, reject) => { session1.post('Debugger.setBreakpointByUrl', { 'lineNumber': 12, 'url': pathToFileURL(path.resolve(__dirname, __filename)).toString(), 'columnNumber': 0, 'condition': '' }, (error, result) => { return error ? reject(error) : resolve(result); }); }); console.log('Breakpoint was set'); debugged(); // Both sessions will receive the paused event assert(session1Paused); assert(session2Paused); console.log('Breakpoint was hit'); session1.disconnect(); session2.disconnect(); console.log('Sessions were disconnected'); } const interval = setInterval(() => {}, 1000); test().then(common.mustCall(() => { clearInterval(interval); console.log('Done!'); }));