Index: runtime/vm/debugger.h |
=================================================================== |
--- runtime/vm/debugger.h (revision 3467) |
+++ runtime/vm/debugger.h (working copy) |
@@ -23,6 +23,7 @@ |
RawFunction* function() const { return function_; } |
uword pc() const { return pc_; } |
+ intptr_t token_index() const { return token_index_; } |
RawScript* SourceCode(); |
RawString* SourceUrl(); |
@@ -33,11 +34,13 @@ |
void set_next(Breakpoint* value) { next_ = value; } |
Breakpoint* next() const { return this->next_; } |
+ intptr_t pc_desc_index() const { return pc_desc_index_; } |
RawFunction* function_; |
intptr_t pc_desc_index_; |
intptr_t token_index_; |
uword pc_; |
+ uword saved_bytes_; |
intptr_t line_number_; |
Breakpoint* next_; |
@@ -114,8 +117,10 @@ |
class Debugger { |
public: |
Debugger(); |
+ ~Debugger(); |
void Initialize(Isolate* isolate); |
+ void Shutdown(); |
bool IsActive(); |
void SetBreakpointHandler(BreakpointHandler* handler); |
@@ -129,6 +134,8 @@ |
Breakpoint* SetBreakpointAtLine(const String& script_url, |
intptr_t line_number); |
+ void RemoveBreakpoint(Breakpoint* bpt); |
+ |
void VisitObjectPointers(ObjectPointerVisitor* visitor); |
// Returns NULL if no breakpoint exists for the given address. |
@@ -143,7 +150,11 @@ |
private: |
Breakpoint* SetBreakpoint(const Function& target_function, |
intptr_t token_index); |
- void AddBreakpoint(Breakpoint* bpt); |
+ void UnsetBreakpoint(Breakpoint* bpt); |
+ Breakpoint* NewBreakpoint(const Function& func, intptr_t pc_desc_index); |
+ void RegisterBreakpoint(Breakpoint* bpt); |
+ Breakpoint* GetBreakpointByFunction(const Function& func, |
+ intptr_t token_index); |
bool initialized_; |
BreakpointHandler* bp_handler_; |