OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_INSPECTOR_V8DEBUGGER_H_ | 5 #ifndef V8_INSPECTOR_V8DEBUGGER_H_ |
6 #define V8_INSPECTOR_V8DEBUGGER_H_ | 6 #define V8_INSPECTOR_V8DEBUGGER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 void continueProgram(int targetContextGroupId); | 54 void continueProgram(int targetContextGroupId); |
55 | 55 |
56 void setPauseOnNextStatement(bool, int targetContextGroupId); | 56 void setPauseOnNextStatement(bool, int targetContextGroupId); |
57 void stepIntoStatement(int targetContextGroupId); | 57 void stepIntoStatement(int targetContextGroupId); |
58 void stepOverStatement(int targetContextGroupId); | 58 void stepOverStatement(int targetContextGroupId); |
59 void stepOutOfFunction(int targetContextGroupId); | 59 void stepOutOfFunction(int targetContextGroupId); |
60 void scheduleStepIntoAsync( | 60 void scheduleStepIntoAsync( |
61 std::unique_ptr<ScheduleStepIntoAsyncCallback> callback, | 61 std::unique_ptr<ScheduleStepIntoAsyncCallback> callback, |
62 int targetContextGroupId); | 62 int targetContextGroupId); |
63 | 63 |
| 64 Response continueToLocation(int targetContextGroupId, |
| 65 std::unique_ptr<protocol::Debugger::Location>); |
| 66 |
64 Response setScriptSource( | 67 Response setScriptSource( |
65 const String16& sourceID, v8::Local<v8::String> newSource, bool dryRun, | 68 const String16& sourceID, v8::Local<v8::String> newSource, bool dryRun, |
66 protocol::Maybe<protocol::Runtime::ExceptionDetails>*, | 69 protocol::Maybe<protocol::Runtime::ExceptionDetails>*, |
67 JavaScriptCallFrames* newCallFrames, protocol::Maybe<bool>* stackChanged, | 70 JavaScriptCallFrames* newCallFrames, protocol::Maybe<bool>* stackChanged, |
68 bool* compileError); | 71 bool* compileError); |
69 JavaScriptCallFrames currentCallFrames(int limit = 0); | 72 JavaScriptCallFrames currentCallFrames(int limit = 0); |
70 | 73 |
71 // Each script inherits debug data from v8::Context where it has been | 74 // Each script inherits debug data from v8::Context where it has been |
72 // compiled. | 75 // compiled. |
73 // Only scripts whose debug data matches |contextGroupId| will be reported. | 76 // Only scripts whose debug data matches |contextGroupId| will be reported. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 void dumpAsyncTaskStacksStateForTest(); | 115 void dumpAsyncTaskStacksStateForTest(); |
113 | 116 |
114 private: | 117 private: |
115 void compileDebuggerScript(); | 118 void compileDebuggerScript(); |
116 v8::MaybeLocal<v8::Value> callDebuggerMethod(const char* functionName, | 119 v8::MaybeLocal<v8::Value> callDebuggerMethod(const char* functionName, |
117 int argc, | 120 int argc, |
118 v8::Local<v8::Value> argv[], | 121 v8::Local<v8::Value> argv[], |
119 bool catchExceptions); | 122 bool catchExceptions); |
120 v8::Local<v8::Context> debuggerContext() const; | 123 v8::Local<v8::Context> debuggerContext() const; |
121 void clearBreakpoints(); | 124 void clearBreakpoints(); |
| 125 void clearContinueToLocation(); |
122 | 126 |
123 static void v8OOMCallback(void* data); | 127 static void v8OOMCallback(void* data); |
124 | 128 |
125 void handleProgramBreak(v8::Local<v8::Context> pausedContext, | 129 void handleProgramBreak(v8::Local<v8::Context> pausedContext, |
126 v8::Local<v8::Object> executionState, | 130 v8::Local<v8::Object> executionState, |
127 v8::Local<v8::Value> exception, | 131 v8::Local<v8::Value> exception, |
128 v8::Local<v8::Array> hitBreakpoints, | 132 v8::Local<v8::Array> hitBreakpoints, |
129 bool isPromiseRejection = false, | 133 bool isPromiseRejection = false, |
130 bool isUncaught = false); | 134 bool isUncaught = false); |
131 | 135 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 int m_enableCount; | 181 int m_enableCount; |
178 bool m_breakpointsActivated; | 182 bool m_breakpointsActivated; |
179 v8::Global<v8::Object> m_debuggerScript; | 183 v8::Global<v8::Object> m_debuggerScript; |
180 v8::Global<v8::Context> m_debuggerContext; | 184 v8::Global<v8::Context> m_debuggerContext; |
181 v8::Local<v8::Object> m_executionState; | 185 v8::Local<v8::Object> m_executionState; |
182 v8::Local<v8::Context> m_pausedContext; | 186 v8::Local<v8::Context> m_pausedContext; |
183 int m_ignoreScriptParsedEventsCounter; | 187 int m_ignoreScriptParsedEventsCounter; |
184 bool m_scheduledOOMBreak = false; | 188 bool m_scheduledOOMBreak = false; |
185 int m_targetContextGroupId = 0; | 189 int m_targetContextGroupId = 0; |
186 int m_pausedContextGroupId = 0; | 190 int m_pausedContextGroupId = 0; |
| 191 String16 m_continueToLocationBreakpointId; |
187 | 192 |
188 using AsyncTaskToStackTrace = | 193 using AsyncTaskToStackTrace = |
189 protocol::HashMap<void*, std::weak_ptr<AsyncStackTrace>>; | 194 protocol::HashMap<void*, std::weak_ptr<AsyncStackTrace>>; |
190 AsyncTaskToStackTrace m_asyncTaskStacks; | 195 AsyncTaskToStackTrace m_asyncTaskStacks; |
191 AsyncTaskToStackTrace m_asyncTaskCreationStacks; | 196 AsyncTaskToStackTrace m_asyncTaskCreationStacks; |
192 protocol::HashSet<void*> m_recurringTasks; | 197 protocol::HashSet<void*> m_recurringTasks; |
193 protocol::HashMap<void*, void*> m_parentTask; | 198 protocol::HashMap<void*, void*> m_parentTask; |
194 | 199 |
195 int m_maxAsyncCallStacks; | 200 int m_maxAsyncCallStacks; |
196 int m_maxAsyncCallStackDepth; | 201 int m_maxAsyncCallStackDepth; |
(...skipping 18 matching lines...) Expand all Loading... |
215 v8::debug::ExceptionBreakState m_pauseOnExceptionsState; | 220 v8::debug::ExceptionBreakState m_pauseOnExceptionsState; |
216 | 221 |
217 WasmTranslation m_wasmTranslation; | 222 WasmTranslation m_wasmTranslation; |
218 | 223 |
219 DISALLOW_COPY_AND_ASSIGN(V8Debugger); | 224 DISALLOW_COPY_AND_ASSIGN(V8Debugger); |
220 }; | 225 }; |
221 | 226 |
222 } // namespace v8_inspector | 227 } // namespace v8_inspector |
223 | 228 |
224 #endif // V8_INSPECTOR_V8DEBUGGER_H_ | 229 #endif // V8_INSPECTOR_V8DEBUGGER_H_ |
OLD | NEW |