![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <v8-debugger-agent-impl.h>
Classes | |
struct | CachedScript |
Public Types | |
enum | BreakpointSource { UserBreakpointSource , DebugCommandBreakpointSource , MonitorCommandBreakpointSource } |
Public Member Functions | |
V8DebuggerAgentImpl (V8InspectorSessionImpl *, protocol::FrontendChannel *, protocol::DictionaryValue *state) | |
~V8DebuggerAgentImpl () override | |
V8DebuggerAgentImpl (const V8DebuggerAgentImpl &)=delete | |
V8DebuggerAgentImpl & | operator= (const V8DebuggerAgentImpl &)=delete |
void | restore () |
void | stop () |
Response | enable (std::optional< double > maxScriptsCacheSize, String16 *outDebuggerId) override |
Response | disable () override |
Response | setBreakpointsActive (bool active) override |
Response | setSkipAllPauses (bool skip) override |
Response | setBreakpointByUrl (int lineNumber, std::optional< String16 > optionalURL, std::optional< String16 > optionalURLRegex, std::optional< String16 > optionalScriptHash, std::optional< int > optionalColumnNumber, std::optional< String16 > optionalCondition, String16 *, std::unique_ptr< protocol::Array< protocol::Debugger::Location > > *locations) override |
Response | setBreakpoint (std::unique_ptr< protocol::Debugger::Location >, std::optional< String16 > optionalCondition, String16 *, std::unique_ptr< protocol::Debugger::Location > *actualLocation) override |
Response | setBreakpointOnFunctionCall (const String16 &functionObjectId, std::optional< String16 > optionalCondition, String16 *outBreakpointId) override |
Response | setInstrumentationBreakpoint (const String16 &instrumentation, String16 *outBreakpointId) override |
Response | removeBreakpoint (const String16 &breakpointId) override |
Response | continueToLocation (std::unique_ptr< protocol::Debugger::Location >, std::optional< String16 > targetCallFrames) override |
Response | getStackTrace (std::unique_ptr< protocol::Runtime::StackTraceId > inStackTraceId, std::unique_ptr< protocol::Runtime::StackTrace > *outStackTrace) override |
Response | searchInContent (const String16 &scriptId, const String16 &query, std::optional< bool > optionalCaseSensitive, std::optional< bool > optionalIsRegex, std::unique_ptr< protocol::Array< protocol::Debugger::SearchMatch > > *) override |
Response | getPossibleBreakpoints (std::unique_ptr< protocol::Debugger::Location > start, std::unique_ptr< protocol::Debugger::Location > end, std::optional< bool > restrictToFunction, std::unique_ptr< protocol::Array< protocol::Debugger::BreakLocation > > *locations) override |
Response | setScriptSource (const String16 &inScriptId, const String16 &inScriptSource, std::optional< bool > dryRun, std::optional< bool > allowTopFrameEditing, std::unique_ptr< protocol::Array< protocol::Debugger::CallFrame > > *optOutCallFrames, std::optional< bool > *optOutStackChanged, std::unique_ptr< protocol::Runtime::StackTrace > *optOutAsyncStackTrace, std::unique_ptr< protocol::Runtime::StackTraceId > *optOutAsyncStackTraceId, String16 *outStatus, std::unique_ptr< protocol::Runtime::ExceptionDetails > *optOutCompileError) override |
Response | restartFrame (const String16 &callFrameId, std::optional< String16 > mode, std::unique_ptr< protocol::Array< protocol::Debugger::CallFrame > > *newCallFrames, std::unique_ptr< protocol::Runtime::StackTrace > *asyncStackTrace, std::unique_ptr< protocol::Runtime::StackTraceId > *asyncStackTraceId) override |
Response | getScriptSource (const String16 &scriptId, String16 *scriptSource, std::optional< protocol::Binary > *bytecode) override |
Response | disassembleWasmModule (const String16 &in_scriptId, std::optional< String16 > *out_streamId, int *out_totalNumberOfLines, std::unique_ptr< protocol::Array< int > > *out_functionBodyOffsets, std::unique_ptr< protocol::Debugger::WasmDisassemblyChunk > *out_chunk) override |
Response | nextWasmDisassemblyChunk (const String16 &in_streamId, std::unique_ptr< protocol::Debugger::WasmDisassemblyChunk > *out_chunk) override |
Response | getWasmBytecode (const String16 &scriptId, protocol::Binary *bytecode) override |
Response | pause () override |
Response | resume (std::optional< bool > terminateOnResume) override |
Response | stepOver (std::unique_ptr< protocol::Array< protocol::Debugger::LocationRange > > inSkipList) override |
Response | stepInto (std::optional< bool > inBreakOnAsyncCall, std::unique_ptr< protocol::Array< protocol::Debugger::LocationRange > > inSkipList) override |
Response | stepOut () override |
Response | pauseOnAsyncCall (std::unique_ptr< protocol::Runtime::StackTraceId > inParentStackTraceId) override |
Response | setPauseOnExceptions (const String16 &pauseState) override |
Response | evaluateOnCallFrame (const String16 &callFrameId, const String16 &expression, std::optional< String16 > objectGroup, std::optional< bool > includeCommandLineAPI, std::optional< bool > silent, std::optional< bool > returnByValue, std::optional< bool > generatePreview, std::optional< bool > throwOnSideEffect, std::optional< double > timeout, std::unique_ptr< protocol::Runtime::RemoteObject > *result, std::unique_ptr< protocol::Runtime::ExceptionDetails > *) override |
Response | setVariableValue (int scopeNumber, const String16 &variableName, std::unique_ptr< protocol::Runtime::CallArgument > newValue, const String16 &callFrame) override |
Response | setReturnValue (std::unique_ptr< protocol::Runtime::CallArgument > newValue) override |
Response | setAsyncCallStackDepth (int depth) override |
Response | setBlackboxPatterns (std::unique_ptr< protocol::Array< String16 > > patterns, std::optional< bool > skipAnonymous) override |
Response | setBlackboxExecutionContexts (std::unique_ptr< protocol::Array< String16 > > uniqueIds) override |
Response | setBlackboxedRanges (const String16 &scriptId, std::unique_ptr< protocol::Array< protocol::Debugger::ScriptPosition > > positions) override |
bool | enabled () const |
void | setBreakpointFor (v8::Local< v8::Function > function, v8::Local< v8::String > condition, BreakpointSource source) |
void | removeBreakpointFor (v8::Local< v8::Function > function, BreakpointSource source) |
void | schedulePauseOnNextStatement (const String16 &breakReason, std::unique_ptr< protocol::DictionaryValue > data) |
void | cancelPauseOnNextStatement () |
void | breakProgram (const String16 &breakReason, std::unique_ptr< protocol::DictionaryValue > data) |
void | reset () |
bool | instrumentationFinished () |
void | didPauseOnInstrumentation (v8::debug::BreakpointId instrumentationId) |
void | didPause (int contextId, v8::Local< v8::Value > exception, const std::vector< v8::debug::BreakpointId > &hitBreakpoints, v8::debug::ExceptionType exceptionType, bool isUncaught, v8::debug::BreakReasons breakReasons) |
void | didContinue () |
void | didParseSource (std::unique_ptr< V8DebuggerScript >, bool success) |
bool | isFunctionBlackboxed (const String16 &scriptId, const v8::debug::Location &start, const v8::debug::Location &end) |
bool | shouldBeSkipped (const String16 &scriptId, int line, int column) |
bool | acceptsPause (bool isOOMBreak) const |
void | ScriptCollected (const V8DebuggerScript *script) |
v8::Isolate * | isolate () |
void | clearBreakDetails () |
Private Types | |
enum | EnableState { kDisabled , kEnabled , kStopping } |
using | ScriptsMap |
using | BreakpointIdToDebuggerBreakpointIdsMap |
using | DebuggerBreakpointIdToBreakpointIdMap |
using | BreakReason |
Private Member Functions | |
void | enableImpl () |
Response | currentCallFrames (std::unique_ptr< protocol::Array< protocol::Debugger::CallFrame > > *) |
std::unique_ptr< protocol::Runtime::StackTrace > | currentAsyncStackTrace () |
std::unique_ptr< protocol::Runtime::StackTraceId > | currentExternalStackTrace () |
void | setPauseOnExceptionsImpl (int) |
std::unique_ptr< protocol::Debugger::Location > | setBreakpointImpl (const String16 &breakpointId, const String16 &scriptId, const String16 &condition, int lineNumber, int columnNumber) |
void | setBreakpointImpl (const String16 &breakpointId, v8::Local< v8::Function > function, v8::Local< v8::String > condition) |
void | removeBreakpointImpl (const String16 &breakpointId, const std::vector< V8DebuggerScript * > &scripts) |
void | internalSetAsyncCallStackDepth (int) |
void | increaseCachedSkipStackGeneration () |
Response | setBlackboxPattern (const String16 &pattern) |
void | resetBlackboxedStateCache () |
bool | isPaused () const |
void | setScriptInstrumentationBreakpointIfNeeded (V8DebuggerScript *script) |
Response | processSkipList (protocol::Array< protocol::Debugger::LocationRange > &skipList) |
void | pushBreakDetails (const String16 &breakReason, std::unique_ptr< protocol::DictionaryValue > breakAuxData) |
void | popBreakDetails () |
Definition at line 31 of file v8-debugger-agent-impl.h.
Definition at line 234 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 273 of file v8-debugger-agent-impl.h.
Definition at line 236 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 232 of file v8-debugger-agent-impl.h.
Enumerator | |
---|---|
UserBreakpointSource | |
DebugCommandBreakpointSource | |
MonitorCommandBreakpointSource |
Definition at line 33 of file v8-debugger-agent-impl.h.
|
private |
Enumerator | |
---|---|
kDisabled | |
kEnabled | |
kStopping |
Definition at line 239 of file v8-debugger-agent-impl.h.
v8_inspector::V8DebuggerAgentImpl::V8DebuggerAgentImpl | ( | V8InspectorSessionImpl * | session, |
protocol::FrontendChannel * | frontendChannel, | ||
protocol::DictionaryValue * | state ) |
Definition at line 427 of file v8-debugger-agent-impl.cc.
|
overridedefault |
|
delete |
bool v8_inspector::V8DebuggerAgentImpl::acceptsPause | ( | bool | isOOMBreak | ) | const |
Definition at line 1057 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::breakProgram | ( | const String16 & | breakReason, |
std::unique_ptr< protocol::DictionaryValue > | data ) |
Definition at line 2293 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::cancelPauseOnNextStatement | ( | ) |
Definition at line 1458 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::clearBreakDetails | ( | ) |
Definition at line 1443 of file v8-debugger-agent-impl.cc.
|
override |
|
private |
Definition at line 1860 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1774 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1869 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::didContinue | ( | ) |
Definition at line 2288 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::didParseSource | ( | std::unique_ptr< V8DebuggerScript > | script, |
bool | success ) |
Definition at line 1944 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::didPause | ( | int | contextId, |
v8::Local< v8::Value > | exception, | ||
const std::vector< v8::debug::BreakpointId > & | hitBreakpoints, | ||
v8::debug::ExceptionType | exceptionType, | ||
bool | isUncaught, | ||
v8::debug::BreakReasons | breakReasons ) |
Definition at line 2171 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::didPauseOnInstrumentation | ( | v8::debug::BreakpointId | instrumentationId | ) |
Definition at line 2135 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 482 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1325 of file v8-debugger-agent-impl.cc.
|
override |
|
inline |
Definition at line 160 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 440 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1574 of file v8-debugger-agent-impl.cc.
|
override |
|
override |
Definition at line 1230 of file v8-debugger-agent-impl.cc.
|
override |
|
override |
Definition at line 1411 of file v8-debugger-agent-impl.cc.
|
private |
|
inline |
Definition at line 176 of file v8-debugger-agent-impl.h.
|
private |
bool v8_inspector::V8DebuggerAgentImpl::isFunctionBlackboxed | ( | const String16 & | scriptId, |
const v8::debug::Location & | start, | ||
const v8::debug::Location & | end ) |
Definition at line 986 of file v8-debugger-agent-impl.cc.
|
inline |
Definition at line 196 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 1879 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1379 of file v8-debugger-agent-impl.cc.
|
delete |
|
override |
Definition at line 1466 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1540 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1438 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 2378 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1432 of file v8-debugger-agent-impl.cc.
|
override |
void v8_inspector::V8DebuggerAgentImpl::removeBreakpointFor | ( | v8::Local< v8::Function > | function, |
BreakpointSource | source ) |
Definition at line 2330 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 845 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::reset | ( | ) |
Definition at line 2340 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1736 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1202 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::restore | ( | ) |
|
override |
Definition at line 1487 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::schedulePauseOnNextStatement | ( | const String16 & | breakReason, |
std::unique_ptr< protocol::DictionaryValue > | data ) |
Definition at line 1448 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::ScriptCollected | ( | const V8DebuggerScript * | script | ) |
Definition at line 2352 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1110 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1679 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1742 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1717 of file v8-debugger-agent-impl.cc.
|
private |
caseSensitive
multiline
Definition at line 1726 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1688 of file v8-debugger-agent-impl.cc.
|
override |
void v8_inspector::V8DebuggerAgentImpl::setBreakpointFor | ( | v8::Local< v8::Function > | function, |
v8::Local< v8::String > | condition, | ||
BreakpointSource | source ) |
Definition at line 2316 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1062 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1097 of file v8-debugger-agent-impl.cc.
|
override |
|
override |
Definition at line 1546 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 1566 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1655 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 2108 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1147 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 574 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1619 of file v8-debugger-agent-impl.cc.
bool v8_inspector::V8DebuggerAgentImpl::shouldBeSkipped | ( | const String16 & | scriptId, |
int | line, | ||
int | column ) |
Definition at line 1030 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1514 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1533 of file v8-debugger-agent-impl.cc.
|
override |
Definition at line 1497 of file v8-debugger-agent-impl.cc.
void v8_inspector::V8DebuggerAgentImpl::stop | ( | ) |
Definition at line 2413 of file v8-debugger-agent-impl.cc.
|
private |
Definition at line 291 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 289 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 287 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 254 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 283 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 275 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 271 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 261 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 247 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 255 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 249 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 251 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 246 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 284 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 252 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 260 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 258 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 253 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 248 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 282 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 285 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 290 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 250 of file v8-debugger-agent-impl.h.
|
private |
Definition at line 257 of file v8-debugger-agent-impl.h.