src/agent/v8/debugapi.ts
Methods |
| clear | |||||||||
clear(breakpoint: stackdriver.Breakpoint, cb: (err: Error | null) => void)
|
|||||||||
|
Defined in src/agent/v8/debugapi.ts:29
|
|||||||||
|
Parameters :
Returns :
void
|
| disconnect |
disconnect()
|
|
Defined in src/agent/v8/debugapi.ts:42
|
|
Returns :
void
|
| log | ||||||||||||
log(breakpoint: stackdriver.Breakpoint, print: (format: string,exps: string[]) => void, shouldStop: () => void)
|
||||||||||||
|
Defined in src/agent/v8/debugapi.ts:37
|
||||||||||||
|
Parameters :
Returns :
void
|
| numBreakpoints_ |
numBreakpoints_()
|
|
Defined in src/agent/v8/debugapi.ts:43
|
|
Returns :
number
|
| numListeners_ |
numListeners_()
|
|
Defined in src/agent/v8/debugapi.ts:44
|
|
Returns :
number
|
| set | |||||||||
set(breakpoint: stackdriver.Breakpoint, cb: (err: Error | null) => void)
|
|||||||||
|
Defined in src/agent/v8/debugapi.ts:25
|
|||||||||
|
Parameters :
Returns :
void
|
| wait | |||||||||
wait(breakpoint: stackdriver.Breakpoint, callback: (err: Error) => void)
|
|||||||||
|
Defined in src/agent/v8/debugapi.ts:33
|
|||||||||
|
Parameters :
Returns :
void
|
import consoleLogLevel = require('console-log-level');
import * as stackdriver from '../../types/stackdriver';
import {DebugAgentConfig} from '../config';
import {ScanStats} from '../io/scanner';
import {SourceMapper} from '../io/sourcemapper';
import * as utils from '../util/utils';
export interface DebugApi {
set(
breakpoint: stackdriver.Breakpoint,
cb: (err: Error | null) => void
): void;
clear(
breakpoint: stackdriver.Breakpoint,
cb: (err: Error | null) => void
): void;
wait(
breakpoint: stackdriver.Breakpoint,
callback: (err?: Error) => void
): void;
log(
breakpoint: stackdriver.Breakpoint,
print: (format: string, exps: string[]) => void,
shouldStop: () => boolean
): void;
disconnect(): void;
numBreakpoints_(): number;
numListeners_(): number;
}
interface DebugApiConstructor {
new (
logger: consoleLogLevel.Logger,
config: DebugAgentConfig,
jsFiles: ScanStats,
sourcemapper: SourceMapper
): DebugApi;
}
let debugApiConstructor: DebugApiConstructor;
export function willUseInspector(nodeVersion?: string) {
const version = nodeVersion != null ? nodeVersion : process.version;
return utils.satisfies(version, '>=10');
}
if (willUseInspector()) {
const inspectorapi = require('./inspector-debugapi');
debugApiConstructor = inspectorapi.InspectorDebugApi;
} else {
const v8debugapi = require('./legacy-debugapi');
debugApiConstructor = v8debugapi.V8DebugApi;
}
export const MODULE_WRAP_PREFIX_LENGTH = require('module')
.wrap('☃')
.indexOf('☃');
let singleton: DebugApi;
export function create(
logger: consoleLogLevel.Logger,
config: DebugAgentConfig,
jsFiles: ScanStats,
sourcemapper: SourceMapper
): DebugApi {
if (singleton && !config.forceNewAgent_) {
return singleton;
} else if (singleton) {
singleton.disconnect();
}
singleton = new debugApiConstructor(logger, config, jsFiles, sourcemapper);
return singleton;
}