OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_DEBUGGER_H_ | 5 #ifndef VM_DEBUGGER_H_ |
6 #define VM_DEBUGGER_H_ | 6 #define VM_DEBUGGER_H_ |
7 | 7 |
8 #include "vm/object.h" | 8 #include "vm/object.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 void Shutdown(); | 125 void Shutdown(); |
126 bool IsActive(); | 126 bool IsActive(); |
127 | 127 |
128 void SetBreakpointHandler(BreakpointHandler* handler); | 128 void SetBreakpointHandler(BreakpointHandler* handler); |
129 | 129 |
130 RawFunction* ResolveFunction(const Library& library, | 130 RawFunction* ResolveFunction(const Library& library, |
131 const String& class_name, | 131 const String& class_name, |
132 const String& function_name); | 132 const String& function_name); |
133 | 133 |
134 // Set breakpoint at closest location to function entry. | 134 // Set breakpoint at closest location to function entry. |
135 Breakpoint* SetBreakpointAtEntry(const Function& target_function, | 135 Breakpoint* SetBreakpointAtEntry(const Function& target_function); |
136 Error* error); | |
137 Breakpoint* SetBreakpointAtLine(const String& script_url, | 136 Breakpoint* SetBreakpointAtLine(const String& script_url, |
138 intptr_t line_number, | 137 intptr_t line_number); |
139 Error* error); | |
140 | 138 |
141 void RemoveBreakpoint(Breakpoint* bpt); | 139 void RemoveBreakpoint(Breakpoint* bpt); |
142 | 140 |
143 void VisitObjectPointers(ObjectPointerVisitor* visitor); | 141 void VisitObjectPointers(ObjectPointerVisitor* visitor); |
144 | 142 |
145 // Returns NULL if no breakpoint exists for the given address. | 143 // Returns NULL if no breakpoint exists for the given address. |
146 Breakpoint* GetBreakpoint(uword breakpoint_address); | 144 Breakpoint* GetBreakpoint(uword breakpoint_address); |
147 | 145 |
148 // Called from Runtime when a breakpoint in Dart code is reached. | 146 // Called from Runtime when a breakpoint in Dart code is reached. |
149 void BreakpointCallback(); | 147 void BreakpointCallback(); |
150 | 148 |
151 RawArray* GetInstanceFields(const Instance& obj); | 149 RawArray* GetInstanceFields(const Instance& obj); |
152 RawArray* GetStaticFields(const Class& cls); | 150 RawArray* GetStaticFields(const Class& cls); |
153 | 151 |
154 // Utility functions. | 152 // Utility functions. |
155 static const char* QualifiedFunctionName(const Function& func); | 153 static const char* QualifiedFunctionName(const Function& func); |
156 | 154 |
157 RawObject* GetInstanceField(const Class& cls, | 155 RawObject* GetInstanceField(const Class& cls, |
158 const String& field_name, | 156 const String& field_name, |
159 const Instance& object); | 157 const Instance& object); |
160 RawObject* GetStaticField(const Class& cls, | 158 RawObject* GetStaticField(const Class& cls, |
161 const String& field_name); | 159 const String& field_name); |
162 | 160 |
163 private: | 161 private: |
164 Breakpoint* SetBreakpoint(const Function& target_function, | 162 Breakpoint* SetBreakpoint(const Function& target_function, |
165 intptr_t token_index, | 163 intptr_t token_index); |
166 Error* error); | |
167 void UnsetBreakpoint(Breakpoint* bpt); | 164 void UnsetBreakpoint(Breakpoint* bpt); |
168 Breakpoint* NewBreakpoint(const Function& func, intptr_t pc_desc_index); | 165 Breakpoint* NewBreakpoint(const Function& func, intptr_t pc_desc_index); |
169 void RegisterBreakpoint(Breakpoint* bpt); | 166 void RegisterBreakpoint(Breakpoint* bpt); |
170 Breakpoint* GetBreakpointByFunction(const Function& func, | 167 Breakpoint* GetBreakpointByFunction(const Function& func, |
171 intptr_t token_index); | 168 intptr_t token_index); |
172 | 169 |
173 Isolate* isolate_; | 170 Isolate* isolate_; |
174 bool initialized_; | 171 bool initialized_; |
175 BreakpointHandler* bp_handler_; | 172 BreakpointHandler* bp_handler_; |
176 Breakpoint* breakpoints_; | 173 Breakpoint* breakpoints_; |
177 DISALLOW_COPY_AND_ASSIGN(Debugger); | 174 DISALLOW_COPY_AND_ASSIGN(Debugger); |
178 }; | 175 }; |
179 | 176 |
180 | 177 |
181 } // namespace dart | 178 } // namespace dart |
182 | 179 |
183 #endif // VM_DEBUGGER_H_ | 180 #endif // VM_DEBUGGER_H_ |
OLD | NEW |