v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8_inspector::V8Debugger Class Reference

#include <v8-debugger.h>

Inheritance diagram for v8_inspector::V8Debugger:
Collaboration diagram for v8_inspector::V8Debugger:

Classes

struct  CachedStackFrameKey
 

Public Member Functions

 V8Debugger (v8::Isolate *, V8InspectorImpl *)
 
 ~V8Debugger () override
 
 V8Debugger (const V8Debugger &)=delete
 
V8Debuggeroperator= (const V8Debugger &)=delete
 
bool enabled () const
 
v8::Isolateisolate () const
 
void setBreakpointsActive (bool)
 
void removeBreakpoint (v8::debug::BreakpointId id)
 
v8::debug::ExceptionBreakState getPauseOnExceptionsState ()
 
void setPauseOnExceptionsState (v8::debug::ExceptionBreakState)
 
bool canBreakProgram ()
 
bool isInInstrumentationPause () const
 
void breakProgram (int targetContextGroupId)
 
void interruptAndBreak (int targetContextGroupId)
 
void requestPauseAfterInstrumentation ()
 
void continueProgram (int targetContextGroupId, bool terminateOnResume=false)
 
void breakProgramOnAssert (int targetContextGroupId)
 
void setPauseOnNextCall (bool, int targetContextGroupId)
 
void stepIntoStatement (int targetContextGroupId, bool breakOnAsyncCall)
 
void stepOverStatement (int targetContextGroupId)
 
void stepOutOfFunction (int targetContextGroupId)
 
void terminateExecution (v8::Local< v8::Context > context, std::unique_ptr< TerminateExecutionCallback > callback)
 
Response continueToLocation (int targetContextGroupId, V8DebuggerScript *script, std::unique_ptr< protocol::Debugger::Location >, const String16 &targetCallFramess)
 
bool restartFrame (int targetContextGroupId, int callFrameOrdinal)
 
std::vector< std::unique_ptr< V8DebuggerScript > > getCompiledScripts (int contextGroupId, V8DebuggerAgentImpl *agent)
 
void enable ()
 
void disable ()
 
bool isPaused () const
 
bool isPausedInContextGroup (int contextGroupId) const
 
int maxAsyncCallChainDepth ()
 
void setAsyncCallStackDepth (V8DebuggerAgentImpl *, int)
 
int maxCallStackSizeToCapture () const
 
void setMaxCallStackSizeToCapture (V8RuntimeAgentImpl *, int)
 
std::shared_ptr< AsyncStackTracecurrentAsyncParent ()
 
V8StackTraceId currentExternalParent ()
 
std::shared_ptr< StackFramesymbolize (v8::Local< v8::StackFrame > v8Frame)
 
std::unique_ptr< V8StackTraceImplcreateStackTrace (v8::Local< v8::StackTrace >)
 
std::unique_ptr< V8StackTraceImplcaptureStackTrace (bool fullStack)
 
v8::MaybeLocal< v8::ArrayinternalProperties (v8::Local< v8::Context >, v8::Local< v8::Value >)
 
v8::Local< v8::ArrayqueryObjects (v8::Local< v8::Context > context, v8::Local< v8::Object > prototype)
 
void asyncTaskScheduled (const StringView &taskName, void *task, bool recurring)
 
void asyncTaskCanceled (void *task)
 
void asyncTaskStarted (void *task)
 
void asyncTaskFinished (void *task)
 
void allAsyncTasksCanceled ()
 
V8StackTraceId storeCurrentStackTrace (const StringView &description)
 
void externalAsyncTaskStarted (const V8StackTraceId &parent)
 
void externalAsyncTaskFinished (const V8StackTraceId &parent)
 
uintptr_t storeStackTrace (std::shared_ptr< AsyncStackTrace > stack)
 
void muteScriptParsedEvents ()
 
void unmuteScriptParsedEvents ()
 
V8InspectorImplinspector ()
 
void setMaxAsyncTaskStacksForTest (int limit)
 
void dumpAsyncTaskStacksStateForTest ()
 
void asyncParentFor (int stackTraceId, std::shared_ptr< AsyncStackTrace > *asyncParent, V8StackTraceId *externalParent) const
 
internal::V8DebuggerId debuggerIdFor (int contextGroupId)
 
std::shared_ptr< AsyncStackTracestackTraceFor (int contextGroupId, const V8StackTraceId &id)
 
void reportTermination ()
 
- Public Member Functions inherited from v8::debug::DebugDelegate
virtual ~DebugDelegate ()=default
 
virtual void BreakProgramRequested (v8::Local< v8::Context > paused_context, const std::vector< debug::BreakpointId > &inspector_break_points_hit, base::EnumSet< BreakReason > break_reasons={})
 
- Public Member Functions inherited from v8::debug::AsyncEventDelegate
virtual ~AsyncEventDelegate ()=default
 

Private Types

enum  ScopeTargetKind { FUNCTION , GENERATOR }
 
using AsyncTaskToStackTrace
 
using StackTraceToAsyncParent
 
using StackTraceToExternalParent = std::deque<std::pair<int, V8StackTraceId>>
 
using StoredStackTraces
 

Private Member Functions

bool addInternalObject (v8::Local< v8::Context > context, v8::Local< v8::Object > object, V8InternalValueType type)
 
void clearContinueToLocation ()
 
bool shouldContinueToCurrentLocation ()
 
void installTerminateExecutionCallbacks (v8::Local< v8::Context > context)
 
void handleProgramBreak (v8::Local< v8::Context > pausedContext, v8::Local< v8::Value > exception, const std::vector< v8::debug::BreakpointId > &hitBreakpoints, v8::debug::BreakReasons break_reasons, v8::debug::ExceptionType exception_type=v8::debug::kException, bool isUncaught=false)
 
v8::MaybeLocal< v8::ValuegetTargetScopes (v8::Local< v8::Context >, v8::Local< v8::Value >, ScopeTargetKind)
 
v8::MaybeLocal< v8::ValuefunctionScopes (v8::Local< v8::Context >, v8::Local< v8::Function >)
 
v8::MaybeLocal< v8::ValuegeneratorScopes (v8::Local< v8::Context >, v8::Local< v8::Value >)
 
v8::MaybeLocal< v8::ArraycollectionsEntries (v8::Local< v8::Context > context, v8::Local< v8::Value > value)
 
v8::MaybeLocal< v8::ArrayprivateMethods (v8::Local< v8::Context > context, v8::Local< v8::Value > value)
 
void asyncTaskScheduledForStack (const StringView &taskName, void *task, bool recurring, bool skipTopFrame=false)
 
void asyncTaskCanceledForStack (void *task)
 
void asyncTaskStartedForStack (void *task)
 
void asyncTaskFinishedForStack (void *task)
 
void asyncTaskCandidateForStepping (void *task)
 
void asyncTaskStartedForStepping (void *task)
 
void asyncTaskFinishedForStepping (void *task)
 
void asyncTaskCanceledForStepping (void *task)
 
void asyncStackTraceCaptured (int id)
 
void AsyncEventOccurred (v8::debug::DebugAsyncActionType type, int id, bool isBlackboxed) override
 
void ScriptCompiled (v8::Local< v8::debug::Script > script, bool is_live_edited, bool has_compile_error) override
 
void BreakProgramRequested (v8::Local< v8::Context > paused_context, const std::vector< v8::debug::BreakpointId > &break_points_hit, v8::debug::BreakReasons break_reasons) override
 
ActionAfterInstrumentation BreakOnInstrumentation (v8::Local< v8::Context > paused_context, v8::debug::BreakpointId) override
 
void ExceptionThrown (v8::Local< v8::Context > paused_context, v8::Local< v8::Value > exception, v8::Local< v8::Value > promise, bool is_uncaught, v8::debug::ExceptionType exception_type) override
 
bool IsFunctionBlackboxed (v8::Local< v8::debug::Script > script, const v8::debug::Location &start, const v8::debug::Location &end) override
 
bool ShouldBeSkipped (v8::Local< v8::debug::Script > script, int line, int column) override
 
void BreakpointConditionEvaluated (v8::Local< v8::Context > context, v8::debug::BreakpointId breakpoint_id, bool exception_thrown, v8::Local< v8::Value > exception) override
 
int currentContextGroupId ()
 
bool hasScheduledBreakOnNextFunctionCall () const
 
void quitMessageLoopIfAgentsFinishedInstrumentation ()
 
void collectOldAsyncStacksIfNeeded ()
 

Static Private Member Functions

static size_t nearHeapLimitCallback (void *data, size_t current_heap_limit, size_t initial_heap_limit)
 
static void terminateExecutionCompletedCallback (v8::Isolate *isolate)
 
static void terminateExecutionCompletedCallbackIgnoringData (v8::Isolate *isolate, void *)
 

Private Attributes

v8::Isolatem_isolate
 
V8InspectorImplm_inspector
 
int m_enableCount
 
int m_breakpointsActiveCount = 0
 
int m_ignoreScriptParsedEventsCounter
 
size_t m_originalHeapLimit = 0
 
bool m_scheduledOOMBreak = false
 
int m_targetContextGroupId = 0
 
int m_pausedContextGroupId = 0
 
bool m_instrumentationPause = false
 
bool m_requestedPauseAfterInstrumentation = false
 
int m_continueToLocationBreakpointId
 
String16 m_continueToLocationTargetCallFrames
 
std::unique_ptr< V8StackTraceImplm_continueToLocationStack
 
std::unordered_map< CachedStackFrameKey, std::weak_ptr< StackFrame >, CachedStackFrameKey::Hash, CachedStackFrameKey::Equalm_cachedStackFrames
 
AsyncTaskToStackTrace m_asyncTaskStacks
 
std::unordered_set< void * > m_recurringTasks
 
size_t m_maxAsyncCallStacks
 
int m_maxAsyncCallStackDepth
 
int m_maxCallStackSizeToCapture
 
std::vector< void * > m_currentTasks
 
std::vector< std::shared_ptr< AsyncStackTrace > > m_currentAsyncParent
 
std::vector< V8StackTraceIdm_currentExternalParent
 
StackTraceToAsyncParent m_asyncParents
 
StackTraceToExternalParent m_externalParents
 
std::list< std::shared_ptr< AsyncStackTrace > > m_allAsyncStacks
 
std::unordered_map< V8DebuggerAgentImpl *, int > m_maxAsyncCallStackDepthMap
 
std::unordered_map< V8RuntimeAgentImpl *, int > m_maxCallStackSizeToCaptureMap
 
void * m_taskWithScheduledBreak = nullptr
 
bool m_externalAsyncTaskPauseRequested = false
 
bool m_taskWithScheduledBreakPauseRequested = false
 
bool m_pauseOnNextCallRequested = false
 
v8::debug::ExceptionBreakState m_pauseOnExceptionsState
 
bool m_pauseOnAsyncCall = false
 
StoredStackTraces m_storedStackTraces
 
uintptr_t m_lastStackTraceId = 0
 
std::unordered_map< int, internal::V8DebuggerIdm_contextGroupIdToDebuggerId
 
std::unique_ptr< TerminateExecutionCallbackm_terminateExecutionCallback
 
v8::Global< v8::Contextm_terminateExecutionCallbackContext
 
bool m_terminateExecutionReported = true
 

Additional Inherited Members

- Public Types inherited from v8::debug::DebugDelegate
enum class  ActionAfterInstrumentation { kPause , kPauseIfBreakpointsHit , kContinue }
 

Detailed Description

Definition at line 51 of file v8-debugger.h.

Member Typedef Documentation

◆ AsyncTaskToStackTrace

Initial value:
std::unordered_map<void*, std::weak_ptr<AsyncStackTrace>>

Definition at line 282 of file v8-debugger.h.

◆ StackTraceToAsyncParent

Initial value:
std::unordered_map<int, std::weak_ptr<AsyncStackTrace>>

Definition at line 296 of file v8-debugger.h.

◆ StackTraceToExternalParent

using v8_inspector::V8Debugger::StackTraceToExternalParent = std::deque<std::pair<int, V8StackTraceId>>
private

Definition at line 298 of file v8-debugger.h.

◆ StoredStackTraces

Initial value:
std::unordered_map<uintptr_t, std::weak_ptr<AsyncStackTrace>>

Definition at line 322 of file v8-debugger.h.

Member Enumeration Documentation

◆ ScopeTargetKind

Enumerator
FUNCTION 
GENERATOR 

Definition at line 175 of file v8-debugger.h.

Constructor & Destructor Documentation

◆ V8Debugger() [1/2]

v8_inspector::V8Debugger::V8Debugger ( v8::Isolate * isolate,
V8InspectorImpl * inspector )

Definition at line 87 of file v8-debugger.cc.

◆ ~V8Debugger()

v8_inspector::V8Debugger::~V8Debugger ( )
override

Definition at line 99 of file v8-debugger.cc.

Here is the call graph for this function:

◆ V8Debugger() [2/2]

v8_inspector::V8Debugger::V8Debugger ( const V8Debugger & )
delete

Member Function Documentation

◆ addInternalObject()

bool v8_inspector::V8Debugger::addInternalObject ( v8::Local< v8::Context > context,
v8::Local< v8::Object > object,
V8InternalValueType type )
private

Definition at line 1459 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ allAsyncTasksCanceled()

void v8_inspector::V8Debugger::allAsyncTasksCanceled ( )

Definition at line 1343 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ AsyncEventOccurred()

void v8_inspector::V8Debugger::AsyncEventOccurred ( v8::debug::DebugAsyncActionType type,
int id,
bool isBlackboxed )
overrideprivatevirtual

Implements v8::debug::AsyncEventDelegate.

Definition at line 757 of file v8-debugger.cc.

Here is the call graph for this function:

◆ asyncParentFor()

void v8_inspector::V8Debugger::asyncParentFor ( int stackTraceId,
std::shared_ptr< AsyncStackTrace > * asyncParent,
V8StackTraceId * externalParent ) const

Definition at line 1092 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncStackTraceCaptured()

void v8_inspector::V8Debugger::asyncStackTraceCaptured ( int id)
private

Definition at line 1332 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncTaskCanceled()

void v8_inspector::V8Debugger::asyncTaskCanceled ( void * task)

Definition at line 1187 of file v8-debugger.cc.

Here is the call graph for this function:

◆ asyncTaskCanceledForStack()

void v8_inspector::V8Debugger::asyncTaskCanceledForStack ( void * task)
private

Definition at line 1238 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ asyncTaskCanceledForStepping()

void v8_inspector::V8Debugger::asyncTaskCanceledForStepping ( void * task)
private

Definition at line 1328 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncTaskCandidateForStepping()

void v8_inspector::V8Debugger::asyncTaskCandidateForStepping ( void * task)
private

Definition at line 1300 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncTaskFinished()

void v8_inspector::V8Debugger::asyncTaskFinished ( void * task)

Definition at line 1197 of file v8-debugger.cc.

Here is the call graph for this function:

◆ asyncTaskFinishedForStack()

void v8_inspector::V8Debugger::asyncTaskFinishedForStack ( void * task)
private

Definition at line 1281 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncTaskFinishedForStepping()

void v8_inspector::V8Debugger::asyncTaskFinishedForStepping ( void * task)
private

Definition at line 1320 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncTaskScheduled()

void v8_inspector::V8Debugger::asyncTaskScheduled ( const StringView & taskName,
void * task,
bool recurring )

Definition at line 1181 of file v8-debugger.cc.

Here is the call graph for this function:

◆ asyncTaskScheduledForStack()

void v8_inspector::V8Debugger::asyncTaskScheduledForStack ( const StringView & taskName,
void * task,
bool recurring,
bool skipTopFrame = false )
private

Definition at line 1214 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asyncTaskStarted()

void v8_inspector::V8Debugger::asyncTaskStarted ( void * task)

Definition at line 1192 of file v8-debugger.cc.

Here is the call graph for this function:

◆ asyncTaskStartedForStack()

void v8_inspector::V8Debugger::asyncTaskStartedForStack ( void * task)
private

Definition at line 1252 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ asyncTaskStartedForStepping()

void v8_inspector::V8Debugger::asyncTaskStartedForStepping ( void * task)
private

Definition at line 1309 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BreakOnInstrumentation()

V8Debugger::ActionAfterInstrumentation v8_inspector::V8Debugger::BreakOnInstrumentation ( v8::Local< v8::Context > paused_context,
v8::debug::BreakpointId instrumentationId )
overrideprivatevirtual

Reimplemented from v8::debug::DebugDelegate.

Definition at line 622 of file v8-debugger.cc.

Here is the call graph for this function:

◆ BreakpointConditionEvaluated()

void v8_inspector::V8Debugger::BreakpointConditionEvaluated ( v8::Local< v8::Context > context,
v8::debug::BreakpointId breakpoint_id,
bool exception_thrown,
v8::Local< v8::Value > exception )
overrideprivatevirtual

Reimplemented from v8::debug::DebugDelegate.

Definition at line 734 of file v8-debugger.cc.

Here is the call graph for this function:

◆ breakProgram()

void v8_inspector::V8Debugger::breakProgram ( int targetContextGroupId)

Definition at line 241 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ breakProgramOnAssert()

void v8_inspector::V8Debugger::breakProgramOnAssert ( int targetContextGroupId)

Definition at line 304 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BreakProgramRequested()

void v8_inspector::V8Debugger::BreakProgramRequested ( v8::Local< v8::Context > paused_context,
const std::vector< v8::debug::BreakpointId > & break_points_hit,
v8::debug::BreakReasons break_reasons )
overrideprivate

Definition at line 674 of file v8-debugger.cc.

Here is the call graph for this function:

◆ canBreakProgram()

bool v8_inspector::V8Debugger::canBreakProgram ( )

Definition at line 233 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ captureStackTrace()

std::unique_ptr< V8StackTraceImpl > v8_inspector::V8Debugger::captureStackTrace ( bool fullStack)

Definition at line 1364 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearContinueToLocation()

void v8_inspector::V8Debugger::clearContinueToLocation ( )
private

Definition at line 471 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collectionsEntries()

v8::MaybeLocal< v8::Array > v8_inspector::V8Debugger::collectionsEntries ( v8::Local< v8::Context > context,
v8::Local< v8::Value > value )
private

Definition at line 888 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collectOldAsyncStacksIfNeeded()

void v8_inspector::V8Debugger::collectOldAsyncStacksIfNeeded ( )
private

Definition at line 1388 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ continueProgram()

void v8_inspector::V8Debugger::continueProgram ( int targetContextGroupId,
bool terminateOnResume = false )

Definition at line 282 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ continueToLocation()

Response v8_inspector::V8Debugger::continueToLocation ( int targetContextGroupId,
V8DebuggerScript * script,
std::unique_ptr< protocol::Debugger::Location > location,
const String16 & targetCallFramess )

Definition at line 418 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createStackTrace()

std::unique_ptr< V8StackTraceImpl > v8_inspector::V8Debugger::createStackTrace ( v8::Local< v8::StackTrace > v8StackTrace)

Definition at line 1026 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ currentAsyncParent()

std::shared_ptr< AsyncStackTrace > v8_inspector::V8Debugger::currentAsyncParent ( )

Definition at line 792 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ currentContextGroupId()

int v8_inspector::V8Debugger::currentContextGroupId ( )
private

Definition at line 1382 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ currentExternalParent()

V8StackTraceId v8_inspector::V8Debugger::currentExternalParent ( )

Definition at line 796 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ debuggerIdFor()

internal::V8DebuggerId v8_inspector::V8Debugger::debuggerIdFor ( int contextGroupId)

Definition at line 1449 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ disable()

void v8_inspector::V8Debugger::disable ( )

Definition at line 124 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpAsyncTaskStacksStateForTest()

void v8_inspector::V8Debugger::dumpAsyncTaskStacksStateForTest ( )

Definition at line 1468 of file v8-debugger.cc.

◆ enable()

void v8_inspector::V8Debugger::enable ( )

Definition at line 112 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enabled()

bool v8_inspector::V8Debugger::enabled ( ) const

Definition at line 163 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ ExceptionThrown()

void v8_inspector::V8Debugger::ExceptionThrown ( v8::Local< v8::Context > paused_context,
v8::Local< v8::Value > exception,
v8::Local< v8::Value > promise,
bool is_uncaught,
v8::debug::ExceptionType exception_type )
overrideprivatevirtual

Reimplemented from v8::debug::DebugDelegate.

Definition at line 682 of file v8-debugger.cc.

Here is the call graph for this function:

◆ externalAsyncTaskFinished()

void v8_inspector::V8Debugger::externalAsyncTaskFinished ( const V8StackTraceId & parent)

Definition at line 1168 of file v8-debugger.cc.

Here is the call graph for this function:

◆ externalAsyncTaskStarted()

void v8_inspector::V8Debugger::externalAsyncTaskStarted ( const V8StackTraceId & parent)

Definition at line 1154 of file v8-debugger.cc.

Here is the call graph for this function:

◆ functionScopes()

v8::MaybeLocal< v8::Value > v8_inspector::V8Debugger::functionScopes ( v8::Local< v8::Context > context,
v8::Local< v8::Function > function )
private

Definition at line 878 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generatorScopes()

v8::MaybeLocal< v8::Value > v8_inspector::V8Debugger::generatorScopes ( v8::Local< v8::Context > context,
v8::Local< v8::Value > generator )
private

Definition at line 883 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCompiledScripts()

std::vector< std::unique_ptr< V8DebuggerScript > > v8_inspector::V8Debugger::getCompiledScripts ( int contextGroupId,
V8DebuggerAgentImpl * agent )

Definition at line 165 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPauseOnExceptionsState()

v8::debug::ExceptionBreakState v8_inspector::V8Debugger::getPauseOnExceptionsState ( )

Definition at line 198 of file v8-debugger.cc.

Here is the call graph for this function:

◆ getTargetScopes()

v8::MaybeLocal< v8::Value > v8_inspector::V8Debugger::getTargetScopes ( v8::Local< v8::Context > context,
v8::Local< v8::Value > value,
ScopeTargetKind kind )
private

Definition at line 801 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleProgramBreak()

void v8_inspector::V8Debugger::handleProgramBreak ( v8::Local< v8::Context > pausedContext,
v8::Local< v8::Value > exception,
const std::vector< v8::debug::BreakpointId > & hitBreakpoints,
v8::debug::BreakReasons break_reasons,
v8::debug::ExceptionType exception_type = v8::debug::kException,
bool isUncaught = false )
private

Definition at line 479 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasScheduledBreakOnNextFunctionCall()

bool v8_inspector::V8Debugger::hasScheduledBreakOnNextFunctionCall ( ) const
private

Definition at line 1475 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ inspector()

V8InspectorImpl * v8_inspector::V8Debugger::inspector ( )
inline

Definition at line 138 of file v8-debugger.h.

Here is the caller graph for this function:

◆ installTerminateExecutionCallbacks()

void v8_inspector::V8Debugger::installTerminateExecutionCallbacks ( v8::Local< v8::Context > context)
private

Definition at line 357 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ internalProperties()

v8::MaybeLocal< v8::Array > v8_inspector::V8Debugger::internalProperties ( v8::Local< v8::Context > context,
v8::Local< v8::Value > value )

Definition at line 969 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interruptAndBreak()

void v8_inspector::V8Debugger::interruptAndBreak ( int targetContextGroupId)

Definition at line 250 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFunctionBlackboxed()

bool v8_inspector::V8Debugger::IsFunctionBlackboxed ( v8::Local< v8::debug::Script > script,
const v8::debug::Location & start,
const v8::debug::Location & end )
overrideprivatevirtual

Reimplemented from v8::debug::DebugDelegate.

Definition at line 693 of file v8-debugger.cc.

Here is the call graph for this function:

◆ isInInstrumentationPause()

bool v8_inspector::V8Debugger::isInInstrumentationPause ( ) const

Definition at line 237 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ isolate()

v8::Isolate * v8_inspector::V8Debugger::isolate ( ) const
inline

Definition at line 60 of file v8-debugger.h.

Here is the caller graph for this function:

◆ isPaused()

bool v8_inspector::V8Debugger::isPaused ( ) const
inline

Definition at line 99 of file v8-debugger.h.

Here is the caller graph for this function:

◆ isPausedInContextGroup()

bool v8_inspector::V8Debugger::isPausedInContextGroup ( int contextGroupId) const

Definition at line 159 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxAsyncCallChainDepth()

int v8_inspector::V8Debugger::maxAsyncCallChainDepth ( )
inline

Definition at line 102 of file v8-debugger.h.

Here is the caller graph for this function:

◆ maxCallStackSizeToCapture()

int v8_inspector::V8Debugger::maxCallStackSizeToCapture ( ) const
inline

Definition at line 105 of file v8-debugger.h.

Here is the caller graph for this function:

◆ muteScriptParsedEvents()

void v8_inspector::V8Debugger::muteScriptParsedEvents ( )

Definition at line 1355 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ nearHeapLimitCallback()

size_t v8_inspector::V8Debugger::nearHeapLimitCallback ( void * data,
size_t current_heap_limit,
size_t initial_heap_limit )
staticprivate

Definition at line 577 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

V8Debugger & v8_inspector::V8Debugger::operator= ( const V8Debugger & )
delete

◆ privateMethods()

v8::MaybeLocal< v8::Array > v8_inspector::V8Debugger::privateMethods ( v8::Local< v8::Context > context,
v8::Local< v8::Value > value )
private

Definition at line 927 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ queryObjects()

v8::Local< v8::Array > v8_inspector::V8Debugger::queryObjects ( v8::Local< v8::Context > context,
v8::Local< v8::Object > prototype )

Definition at line 1008 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ quitMessageLoopIfAgentsFinishedInstrumentation()

void v8_inspector::V8Debugger::quitMessageLoopIfAgentsFinishedInstrumentation ( )
private

Definition at line 268 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeBreakpoint()

void v8_inspector::V8Debugger::removeBreakpoint ( v8::debug::BreakpointId id)

Definition at line 194 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reportTermination()

void v8_inspector::V8Debugger::reportTermination ( )

Definition at line 375 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ requestPauseAfterInstrumentation()

void v8_inspector::V8Debugger::requestPauseAfterInstrumentation ( )

Definition at line 264 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ restartFrame()

bool v8_inspector::V8Debugger::restartFrame ( int targetContextGroupId,
int callFrameOrdinal )

Definition at line 444 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ScriptCompiled()

void v8_inspector::V8Debugger::ScriptCompiled ( v8::Local< v8::debug::Script > script,
bool is_live_edited,
bool has_compile_error )
overrideprivatevirtual

Reimplemented from v8::debug::DebugDelegate.

Definition at line 599 of file v8-debugger.cc.

Here is the call graph for this function:

◆ setAsyncCallStackDepth()

void v8_inspector::V8Debugger::setAsyncCallStackDepth ( V8DebuggerAgentImpl * agent,
int depth )

Definition at line 1032 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setBreakpointsActive()

void v8_inspector::V8Debugger::setBreakpointsActive ( bool active)

Definition at line 185 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMaxAsyncTaskStacksForTest()

void v8_inspector::V8Debugger::setMaxAsyncTaskStacksForTest ( int limit)

Definition at line 1443 of file v8-debugger.cc.

Here is the call graph for this function:

◆ setMaxCallStackSizeToCapture()

void v8_inspector::V8Debugger::setMaxCallStackSizeToCapture ( V8RuntimeAgentImpl * agent,
int size )

Definition at line 1054 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPauseOnExceptionsState()

void v8_inspector::V8Debugger::setPauseOnExceptionsState ( v8::debug::ExceptionBreakState pauseOnExceptionsState)

Definition at line 203 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPauseOnNextCall()

void v8_inspector::V8Debugger::setPauseOnNextCall ( bool pause,
int targetContextGroupId )

Definition at line 211 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShouldBeSkipped()

bool v8_inspector::V8Debugger::ShouldBeSkipped ( v8::Local< v8::debug::Script > script,
int line,
int column )
overrideprivatevirtual

Reimplemented from v8::debug::DebugDelegate.

Definition at line 713 of file v8-debugger.cc.

Here is the call graph for this function:

◆ shouldContinueToCurrentLocation()

bool v8_inspector::V8Debugger::shouldContinueToCurrentLocation ( )
private

Definition at line 456 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stackTraceFor()

std::shared_ptr< AsyncStackTrace > v8_inspector::V8Debugger::stackTraceFor ( int contextGroupId,
const V8StackTraceId & id )

Definition at line 1113 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stepIntoStatement()

void v8_inspector::V8Debugger::stepIntoStatement ( int targetContextGroupId,
bool breakOnAsyncCall )

Definition at line 316 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stepOutOfFunction()

void v8_inspector::V8Debugger::stepOutOfFunction ( int targetContextGroupId)

Definition at line 334 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stepOverStatement()

void v8_inspector::V8Debugger::stepOverStatement ( int targetContextGroupId)

Definition at line 326 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ storeCurrentStackTrace()

V8StackTraceId v8_inspector::V8Debugger::storeCurrentStackTrace ( const StringView & description)

Definition at line 1121 of file v8-debugger.cc.

Here is the call graph for this function:

◆ storeStackTrace()

uintptr_t v8_inspector::V8Debugger::storeStackTrace ( std::shared_ptr< AsyncStackTrace > stack)

Definition at line 1147 of file v8-debugger.cc.

Here is the caller graph for this function:

◆ symbolize()

std::shared_ptr< StackFrame > v8_inspector::V8Debugger::symbolize ( v8::Local< v8::StackFrame > v8Frame)

Definition at line 1414 of file v8-debugger.cc.

Here is the call graph for this function:

◆ terminateExecution()

void v8_inspector::V8Debugger::terminateExecution ( v8::Local< v8::Context > context,
std::unique_ptr< TerminateExecutionCallback > callback )

Definition at line 342 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ terminateExecutionCompletedCallback()

void v8_inspector::V8Debugger::terminateExecutionCompletedCallback ( v8::Isolate * isolate)
staticprivate

Definition at line 401 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ terminateExecutionCompletedCallbackIgnoringData()

void v8_inspector::V8Debugger::terminateExecutionCompletedCallbackIgnoringData ( v8::Isolate * isolate,
void * data )
staticprivate

Definition at line 408 of file v8-debugger.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unmuteScriptParsedEvents()

void v8_inspector::V8Debugger::unmuteScriptParsedEvents ( )

Definition at line 1359 of file v8-debugger.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ m_allAsyncStacks

std::list<std::shared_ptr<AsyncStackTrace> > v8_inspector::V8Debugger::m_allAsyncStacks
private

Definition at line 305 of file v8-debugger.h.

◆ m_asyncParents

StackTraceToAsyncParent v8_inspector::V8Debugger::m_asyncParents
private

Definition at line 299 of file v8-debugger.h.

◆ m_asyncTaskStacks

AsyncTaskToStackTrace v8_inspector::V8Debugger::m_asyncTaskStacks
private

Definition at line 284 of file v8-debugger.h.

◆ m_breakpointsActiveCount

int v8_inspector::V8Debugger::m_breakpointsActiveCount = 0
private

Definition at line 240 of file v8-debugger.h.

◆ m_cachedStackFrames

std::unordered_map<CachedStackFrameKey, std::weak_ptr<StackFrame>, CachedStackFrameKey::Hash, CachedStackFrameKey::Equal> v8_inspector::V8Debugger::m_cachedStackFrames
private

Definition at line 280 of file v8-debugger.h.

◆ m_contextGroupIdToDebuggerId

std::unordered_map<int, internal::V8DebuggerId> v8_inspector::V8Debugger::m_contextGroupIdToDebuggerId
private

Definition at line 327 of file v8-debugger.h.

◆ m_continueToLocationBreakpointId

int v8_inspector::V8Debugger::m_continueToLocationBreakpointId
private

Definition at line 248 of file v8-debugger.h.

◆ m_continueToLocationStack

std::unique_ptr<V8StackTraceImpl> v8_inspector::V8Debugger::m_continueToLocationStack
private

Definition at line 250 of file v8-debugger.h.

◆ m_continueToLocationTargetCallFrames

String16 v8_inspector::V8Debugger::m_continueToLocationTargetCallFrames
private

Definition at line 249 of file v8-debugger.h.

◆ m_currentAsyncParent

std::vector<std::shared_ptr<AsyncStackTrace> > v8_inspector::V8Debugger::m_currentAsyncParent
private

Definition at line 292 of file v8-debugger.h.

◆ m_currentExternalParent

std::vector<V8StackTraceId> v8_inspector::V8Debugger::m_currentExternalParent
private

Definition at line 293 of file v8-debugger.h.

◆ m_currentTasks

std::vector<void*> v8_inspector::V8Debugger::m_currentTasks
private

Definition at line 291 of file v8-debugger.h.

◆ m_enableCount

int v8_inspector::V8Debugger::m_enableCount
private

Definition at line 238 of file v8-debugger.h.

◆ m_externalAsyncTaskPauseRequested

bool v8_inspector::V8Debugger::m_externalAsyncTaskPauseRequested = false
private

Definition at line 313 of file v8-debugger.h.

◆ m_externalParents

StackTraceToExternalParent v8_inspector::V8Debugger::m_externalParents
private

Definition at line 300 of file v8-debugger.h.

◆ m_ignoreScriptParsedEventsCounter

int v8_inspector::V8Debugger::m_ignoreScriptParsedEventsCounter
private

Definition at line 241 of file v8-debugger.h.

◆ m_inspector

V8InspectorImpl* v8_inspector::V8Debugger::m_inspector
private

Definition at line 237 of file v8-debugger.h.

◆ m_instrumentationPause

bool v8_inspector::V8Debugger::m_instrumentationPause = false
private

Definition at line 246 of file v8-debugger.h.

◆ m_isolate

v8::Isolate* v8_inspector::V8Debugger::m_isolate
private

Definition at line 236 of file v8-debugger.h.

◆ m_lastStackTraceId

uintptr_t v8_inspector::V8Debugger::m_lastStackTraceId = 0
private

Definition at line 325 of file v8-debugger.h.

◆ m_maxAsyncCallStackDepth

int v8_inspector::V8Debugger::m_maxAsyncCallStackDepth
private

Definition at line 288 of file v8-debugger.h.

◆ m_maxAsyncCallStackDepthMap

std::unordered_map<V8DebuggerAgentImpl*, int> v8_inspector::V8Debugger::m_maxAsyncCallStackDepthMap
private

Definition at line 307 of file v8-debugger.h.

◆ m_maxAsyncCallStacks

size_t v8_inspector::V8Debugger::m_maxAsyncCallStacks
private

Definition at line 287 of file v8-debugger.h.

◆ m_maxCallStackSizeToCapture

int v8_inspector::V8Debugger::m_maxCallStackSizeToCapture
private

Definition at line 289 of file v8-debugger.h.

◆ m_maxCallStackSizeToCaptureMap

std::unordered_map<V8RuntimeAgentImpl*, int> v8_inspector::V8Debugger::m_maxCallStackSizeToCaptureMap
private

Definition at line 308 of file v8-debugger.h.

◆ m_originalHeapLimit

size_t v8_inspector::V8Debugger::m_originalHeapLimit = 0
private

Definition at line 242 of file v8-debugger.h.

◆ m_pausedContextGroupId

int v8_inspector::V8Debugger::m_pausedContextGroupId = 0
private

Definition at line 245 of file v8-debugger.h.

◆ m_pauseOnAsyncCall

bool v8_inspector::V8Debugger::m_pauseOnAsyncCall = false
private

Definition at line 320 of file v8-debugger.h.

◆ m_pauseOnExceptionsState

v8::debug::ExceptionBreakState v8_inspector::V8Debugger::m_pauseOnExceptionsState
private

Definition at line 317 of file v8-debugger.h.

◆ m_pauseOnNextCallRequested

bool v8_inspector::V8Debugger::m_pauseOnNextCallRequested = false
private

Definition at line 315 of file v8-debugger.h.

◆ m_recurringTasks

std::unordered_set<void*> v8_inspector::V8Debugger::m_recurringTasks
private

Definition at line 285 of file v8-debugger.h.

◆ m_requestedPauseAfterInstrumentation

bool v8_inspector::V8Debugger::m_requestedPauseAfterInstrumentation = false
private

Definition at line 247 of file v8-debugger.h.

◆ m_scheduledOOMBreak

bool v8_inspector::V8Debugger::m_scheduledOOMBreak = false
private

Definition at line 243 of file v8-debugger.h.

◆ m_storedStackTraces

StoredStackTraces v8_inspector::V8Debugger::m_storedStackTraces
private

Definition at line 324 of file v8-debugger.h.

◆ m_targetContextGroupId

int v8_inspector::V8Debugger::m_targetContextGroupId = 0
private

Definition at line 244 of file v8-debugger.h.

◆ m_taskWithScheduledBreak

void* v8_inspector::V8Debugger::m_taskWithScheduledBreak = nullptr
private

Definition at line 309 of file v8-debugger.h.

◆ m_taskWithScheduledBreakPauseRequested

bool v8_inspector::V8Debugger::m_taskWithScheduledBreakPauseRequested = false
private

Definition at line 314 of file v8-debugger.h.

◆ m_terminateExecutionCallback

std::unique_ptr<TerminateExecutionCallback> v8_inspector::V8Debugger::m_terminateExecutionCallback
private

Definition at line 329 of file v8-debugger.h.

◆ m_terminateExecutionCallbackContext

v8::Global<v8::Context> v8_inspector::V8Debugger::m_terminateExecutionCallbackContext
private

Definition at line 330 of file v8-debugger.h.

◆ m_terminateExecutionReported

bool v8_inspector::V8Debugger::m_terminateExecutionReported = true
private

Definition at line 331 of file v8-debugger.h.


The documentation for this class was generated from the following files: