| Index: runtime/vm/service.cc | 
| diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc | 
| index d35f0e147f42af9a33dac52f31623cf8d6a56f6c..efc5c24b304a3a46a81b962b952b86f92593ea3f 100644 | 
| --- a/runtime/vm/service.cc | 
| +++ b/runtime/vm/service.cc | 
| @@ -241,6 +241,14 @@ static void PrintInvalidParamError(JSONStream* js, | 
| } | 
|  | 
|  | 
| +static void PrintIllegalParamError(JSONStream* js, | 
| +                                   const char* param) { | 
| +  js->PrintError(kInvalidParams, | 
| +                 "%s: illegal '%s' parameter: %s", | 
| +                 js->method(), param, js->LookupParam(param)); | 
| +} | 
| + | 
| + | 
| static void PrintUnrecognizedMethodError(JSONStream* js) { | 
| js->PrintError(kMethodNotFound, NULL); | 
| } | 
| @@ -3977,6 +3985,13 @@ static bool SetLibraryDebuggable(Thread* thread, JSONStream* js) { | 
| BoolParameter::Parse(js->LookupParam("isDebuggable"), false); | 
| if (obj.IsLibrary()) { | 
| const Library& lib = Library::Cast(obj); | 
| +    if (lib.is_dart_scheme()) { | 
| +      const String& url = String::Handle(lib.url()); | 
| +      if (url.StartsWith(Symbols::DartSchemePrivate())) { | 
| +        PrintIllegalParamError(js, "libraryId"); | 
| +        return true; | 
| +      } | 
| +    } | 
| lib.set_debuggable(is_debuggable); | 
| PrintSuccess(js); | 
| return true; | 
|  |