Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(359)

Side by Side Diff: runtime/vm/debugger.h

Issue 2786503003: Fix a couple of bugs with async stack traces (Closed)
Patch Set: update dartk service test status Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/debugger.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 RUNTIME_VM_DEBUGGER_H_ 5 #ifndef RUNTIME_VM_DEBUGGER_H_
6 #define RUNTIME_VM_DEBUGGER_H_ 6 #define RUNTIME_VM_DEBUGGER_H_
7 7
8 #include "include/dart_tools_api.h" 8 #include "include/dart_tools_api.h"
9 9
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 void PrintBreakpointsToJSONArray(JSONArray* jsarr) const; 598 void PrintBreakpointsToJSONArray(JSONArray* jsarr) const;
599 void PrintSettingsToJSONObject(JSONObject* jsobj) const; 599 void PrintSettingsToJSONObject(JSONObject* jsobj) const;
600 600
601 static bool IsDebuggable(const Function& func); 601 static bool IsDebuggable(const Function& func);
602 602
603 intptr_t limitBreakpointId() { return next_id_; } 603 intptr_t limitBreakpointId() { return next_id_; }
604 604
605 // Callback to the debugger to continue frame rewind, post-deoptimization. 605 // Callback to the debugger to continue frame rewind, post-deoptimization.
606 void RewindPostDeopt(); 606 void RewindPostDeopt();
607 607
608 static DebuggerStackTrace* CollectAwaiterReturnStackTrace();
609
608 private: 610 private:
609 RawError* PauseRequest(ServiceEvent::EventKind kind); 611 RawError* PauseRequest(ServiceEvent::EventKind kind);
610 612
611 // Finds the breakpoint we hit at |location|. 613 // Finds the breakpoint we hit at |location|.
612 Breakpoint* FindHitBreakpoint(BreakpointLocation* location, 614 Breakpoint* FindHitBreakpoint(BreakpointLocation* location,
613 ActivationFrame* top_frame); 615 ActivationFrame* top_frame);
614 616
615 // Will return false if we are not at an await. 617 // Will return false if we are not at an await.
616 bool SetupStepOverAsyncSuspension(const char** error); 618 bool SetupStepOverAsyncSuspension(const char** error);
617 619
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 static void AppendCodeFrames(Thread* thread, 674 static void AppendCodeFrames(Thread* thread,
673 Isolate* isolate, 675 Isolate* isolate,
674 Zone* zone, 676 Zone* zone,
675 DebuggerStackTrace* stack_trace, 677 DebuggerStackTrace* stack_trace,
676 StackFrame* frame, 678 StackFrame* frame,
677 Code* code, 679 Code* code,
678 Code* inlined_code, 680 Code* inlined_code,
679 Array* deopt_frame); 681 Array* deopt_frame);
680 static DebuggerStackTrace* CollectStackTrace(); 682 static DebuggerStackTrace* CollectStackTrace();
681 static DebuggerStackTrace* CollectAsyncCausalStackTrace(); 683 static DebuggerStackTrace* CollectAsyncCausalStackTrace();
682 static DebuggerStackTrace* CollectAwaiterReturnStackTrace();
683 void SignalPausedEvent(ActivationFrame* top_frame, Breakpoint* bpt); 684 void SignalPausedEvent(ActivationFrame* top_frame, Breakpoint* bpt);
684 685
685 intptr_t nextId() { return next_id_++; } 686 intptr_t nextId() { return next_id_++; }
686 687
687 bool ShouldPauseOnException(DebuggerStackTrace* stack_trace, 688 bool ShouldPauseOnException(DebuggerStackTrace* stack_trace,
688 const Instance& exc); 689 const Instance& exc);
689 690
690 void CollectLibraryFields(const GrowableObjectArray& field_list, 691 void CollectLibraryFields(const GrowableObjectArray& field_list,
691 const Library& lib, 692 const Library& lib,
692 const String& prefix, 693 const String& prefix,
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 773
773 friend class Isolate; 774 friend class Isolate;
774 friend class BreakpointLocation; 775 friend class BreakpointLocation;
775 DISALLOW_COPY_AND_ASSIGN(Debugger); 776 DISALLOW_COPY_AND_ASSIGN(Debugger);
776 }; 777 };
777 778
778 779
779 } // namespace dart 780 } // namespace dart
780 781
781 #endif // RUNTIME_VM_DEBUGGER_H_ 782 #endif // RUNTIME_VM_DEBUGGER_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/debugger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698