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

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

Issue 1174313002: Allow setting break-on-exceptions option over the service protocol. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 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/debugger.h ('k') | runtime/vm/isolate.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 #include "vm/debugger.h" 5 #include "vm/debugger.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 8
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/code_patcher.h" 10 #include "vm/code_patcher.h"
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 Breakpoint* bpt = sbpt->breakpoints(); 473 Breakpoint* bpt = sbpt->breakpoints();
474 while (bpt != NULL) { 474 while (bpt != NULL) {
475 jsarr->AddValue(bpt); 475 jsarr->AddValue(bpt);
476 bpt = bpt->next(); 476 bpt = bpt->next();
477 } 477 }
478 sbpt = sbpt->next_; 478 sbpt = sbpt->next_;
479 } 479 }
480 } 480 }
481 481
482 482
483 void Debugger::PrintSettingsToJSONObject(JSONObject* jsobj) const {
484 // This won't cut it when we support filtering by class, etc.
485 switch (GetExceptionPauseInfo()) {
486 case kNoPauseOnExceptions:
487 jsobj->AddProperty("_exceptions", "none");
488 break;
489 case kPauseOnAllExceptions:
490 jsobj->AddProperty("_exceptions", "all");
491 break;
492 case kPauseOnUnhandledExceptions:
493 jsobj->AddProperty("_exceptions", "unhandled");
494 break;
495 default:
496 UNREACHABLE();
497 }
498 }
499
500
483 RawString* ActivationFrame::QualifiedFunctionName() { 501 RawString* ActivationFrame::QualifiedFunctionName() {
484 return String::New(Debugger::QualifiedFunctionName(function())); 502 return String::New(Debugger::QualifiedFunctionName(function()));
485 } 503 }
486 504
487 505
488 RawString* ActivationFrame::SourceUrl() { 506 RawString* ActivationFrame::SourceUrl() {
489 const Script& script = Script::Handle(SourceScript()); 507 const Script& script = Script::Handle(SourceScript());
490 return script.url(); 508 return script.url();
491 } 509 }
492 510
(...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after
1500 1518
1501 1519
1502 void Debugger::SetExceptionPauseInfo(Dart_ExceptionPauseInfo pause_info) { 1520 void Debugger::SetExceptionPauseInfo(Dart_ExceptionPauseInfo pause_info) {
1503 ASSERT((pause_info == kNoPauseOnExceptions) || 1521 ASSERT((pause_info == kNoPauseOnExceptions) ||
1504 (pause_info == kPauseOnUnhandledExceptions) || 1522 (pause_info == kPauseOnUnhandledExceptions) ||
1505 (pause_info == kPauseOnAllExceptions)); 1523 (pause_info == kPauseOnAllExceptions));
1506 exc_pause_info_ = pause_info; 1524 exc_pause_info_ = pause_info;
1507 } 1525 }
1508 1526
1509 1527
1510 Dart_ExceptionPauseInfo Debugger::GetExceptionPauseInfo() { 1528 Dart_ExceptionPauseInfo Debugger::GetExceptionPauseInfo() const {
1511 return exc_pause_info_; 1529 return exc_pause_info_;
1512 } 1530 }
1513 1531
1514 1532
1515 bool Debugger::ShouldPauseOnException(DebuggerStackTrace* stack_trace, 1533 bool Debugger::ShouldPauseOnException(DebuggerStackTrace* stack_trace,
1516 const Instance& exc) { 1534 const Instance& exc) {
1517 if (exc_pause_info_ == kNoPauseOnExceptions) { 1535 if (exc_pause_info_ == kNoPauseOnExceptions) {
1518 return false; 1536 return false;
1519 } 1537 }
1520 if (exc_pause_info_ == kPauseOnAllExceptions) { 1538 if (exc_pause_info_ == kPauseOnAllExceptions) {
(...skipping 1431 matching lines...) Expand 10 before | Expand all | Expand 10 after
2952 } 2970 }
2953 2971
2954 2972
2955 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { 2973 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) {
2956 ASSERT(bpt->next() == NULL); 2974 ASSERT(bpt->next() == NULL);
2957 bpt->set_next(code_breakpoints_); 2975 bpt->set_next(code_breakpoints_);
2958 code_breakpoints_ = bpt; 2976 code_breakpoints_ = bpt;
2959 } 2977 }
2960 2978
2961 } // namespace dart 2979 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/debugger.h ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698