| Index: src/debug/debug.cc
|
| diff --git a/src/debug/debug.cc b/src/debug/debug.cc
|
| index 5dc1742137b5942daf64f3eeca772bf97c59cdf9..f6969b12389eb906d8eae0121469041b505ad0d2 100644
|
| --- a/src/debug/debug.cc
|
| +++ b/src/debug/debug.cc
|
| @@ -41,6 +41,7 @@ Debug::Debug(Isolate* isolate)
|
| in_debug_event_listener_(false),
|
| break_on_exception_(false),
|
| break_on_uncaught_exception_(false),
|
| + break_in_nondebuggable_(false),
|
| debug_info_list_(NULL),
|
| isolate_(isolate) {
|
| ThreadInit();
|
| @@ -2244,7 +2245,10 @@ void Debug::HandleDebugBreak() {
|
| Object* fun = it.frame()->function();
|
| if (fun && fun->IsJSFunction()) {
|
| // Don't stop in builtin functions.
|
| - if (!JSFunction::cast(fun)->IsSubjectToDebugging()) return;
|
| + if (!(JSFunction::cast(fun)->IsSubjectToDebugging() ||
|
| + break_in_nondebuggable_)) {
|
| + return;
|
| + }
|
| GlobalObject* global = JSFunction::cast(fun)->context()->global_object();
|
| // Don't stop in debugger functions.
|
| if (IsDebugGlobal(global)) return;
|
|
|