-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add editor support for setting breakpoints using file suffix #21280
Comments
cc @scheglov. |
Set owner to @scheglov. |
AFAIK Devon done it it https://codereview.chromium.org//669613006 Set owner to @devoncarew. |
Setting breakpoints using a prefix works, but matching the stack at a breakpoint set with prefix with the actual code does not work. Below is a trace of the communication between the debugger and the debugee inside a Docker container, where the Dart code in running off /app/bin/server.dart. The change in https://codereview.chromium.org//669613006 does add the suffix support for setting breakpoints. I am now able to set a breakpoint when running in a Docker container ad described in issue #21067. This is command 6 in the trace below: {"id":6,"command":"setBreakpoint","params":{"isolateId":703850198,"line":20,"url":"bin/server.dart"}}{ "id": 6, "result": { "breakpointId": 1 }} However when the breakpoint is hit the editor says: Source not available for <anonomous closure>(). I think this is due to the stack-trace from the VM having absolute URIs which are not matched by the editor. I think this is caused bu the handling of one or more of these commands in the trace below: Command 7 is resume, and the result is a break in file:///app/bin/server.dart. Command 8 is getting the stack, where the top frame is reported in file:///app/bin/server.dart Command 9 is asking for script source for file:/app/bin/server.dart Besides the top frame I can see the code for the other frames, but they are all in dart: libraries, e.g. dart:async/zone.dart. {"id":7,"command":"resume","params":{"isolateId":703850198}}{ "id": 7 }{ "event": "breakpointResolved", "params": {"breakpointId": 1, "isolateId":703850198, "location":{"url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}{ "event": "paused", "params": { "reason": "breakpoint", "isolateId": 703850198,"breakpointId": 1,"location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}} {"id":8,"command":"getStackTrace","params":{"isolateId":703850198}}{ "id": 8, "result": {"callFrames" : [ {"functionName":"<anonymous closure>","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163},"locals":[{"name":"webFiles","value":{"objectId":0,"kind":"object","classId":1340,"text":"object of type VirtualDirectory"}},{"name":"request","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_rootRunUnary@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6511},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]}, {"id":9,"command":"getScriptSource","params":{"libraryId":13,"isolateId":703850198,"url":"file:/app/bin/server.dart"}}{"id": 9, "error": "Error: Dart_ScriptGetSource: script 'file:/app/bin/server.dart' not found in library 'file:///app/bin/server.dart'"} Here is the full trace of the communication between the debugger and the debugee: { "event": "isolate", "params": { "reason": "created", "id": 814077656 }}{"id":1,"command":"getLibraries","params":{"isolateId":814077656}}{ "event": "isolate", "params": { "reason": "created", "id": 703850198 }}{"id":2,"command":"getLibraries","params":{"isolateId":703850198}}{ "event": "paused", "params": { "reason": "breakpoint", "isolateId": 703850198,"location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":27}}}{ "id": 2, "result": { "libraries": [{"id":0,"url":"dart:core"}, {"id":1,"url":"dart:isolate"}, {"id":2,"url":"dart:mirrors"}, {"id":3,"url":"dart:collection"}, {"id":4,"url":"dart:profiler"}, {"id":5,"url":"dart:nativewrappers"}, {"id":6,"url":"dart:typed_data"}, {"id":7,"url":"dart:async"}, {"id":8,"url":"dart:convert"}, {"id":9,"url":"dart:_internal"}, {"id":10,"url":"dart:math"}, {"id":11,"url":"dart:_builtin"}, {"id":12,"url":"dart:io"}, {"id":13,"url":"file:///app/bin/server.dart"}, {"id":14,"url":"package:http_server/http_server.dart"}, {"id":15,"url":"package:mime/mime.dart"}, {"id":16,"url":"package:path/path.dart"}, {"id":17,"url":"package:mime/src/mime_multipart_transformer.dart"}, {"id":18,"url":"package:mime/src/mime_shared.dart"}, {"id":19,"url":"package:mime/src/mime_type.dart"}, {"id":20,"url":"package:path/src/context.dart"}, {"id":21,"url":"package:path/src/style.dart"}, {"id":22,"url":"package:path/src/path_exception.dart"}, {"id":23,"url":"package:mime/src/bound_multipart_stream.dart"}, {"id":24,"url":"package:mime/src/char_code.dart"}, {"id":25,"url":"package:mime/src/default_extension_map.dart"}, {"id":26,"url":"package:mime/src/magic_number.dart"}, {"id":27,"url":"package:path/src/internal_style.dart"}, {"id":28,"url":"package:path/src/parsed_path.dart"}, {"id":29,"url":"package:path/src/style/posix.dart"}, {"id":30,"url":"package:path/src/style/url.dart"}, {"id":31,"url":"package:path/src/style/windows.dart"}, {"id":32,"url":"package:path/src/characters.dart"}, {"id":33,"url":"package:path/src/utils.dart"}]}}{"id":3,"command":"getLineNumberTable","params":{"libraryId":13,"isolateId":703850198,"url":"file:///app/bin/server.dart"}}{"id":4,"command":"setPauseOnException","params":{"exceptions":"unhandled","isolateId":703850198}}{ "id": 3, "result": { "lines": [[4,3,1,4,8,5,20], [5,7,1,8,8,9,17], [7,12,1,13,8,14,46], [9,17,1,18,6,19,10,20,11,21,13], [10,23,3,24,7,25,16,26,18,27,22,28,38,29,39,30,44,31,45], [12,34,3,35,11,36,12,37,13,38,15], [13,40,5,41,15,42,16,43,20,44,21,45,30,46,32,47,36,48,37,49,38,51,42,52,43,53,44,55,50,56,52], [14,58,7,60,13,61,14,63,20,64,21,65,22,67,29,68,31], [15,70,11,71,14,72,15,74,22,75,23,77,26,78,27,80,32,81,35,83,38,84,40], [16,86,13,88,20,89,21,91,29,92,30,94,38,95,39,97,46,98,47,100,50,101,51,103,58,104,59,106,72,107,73,108,74], [17,110,11,111,13,112,18,113,21,114,22,116,29,117,30,119,33,120,34,122,39,123,42,125,52,126,54], [18,128,13,130,20,131,21,133,29,134,30,136,37,137,39,139,51,140,53,142,64,143,65,145,69], [19,147,13,149,20,150,21], [20,153,17,154,19,156,26,157,27,159,42,160,44,162,52,163,53,165,60,166,61,168,62], [21,170,17,171,19,173,26,174,27,176,45,177,47,179,55,180,56,182,66,183,67,185,68], [22,187,17,188,19,190,26,191,27], [23,194,27,196,28,197,30,199,38,200,39,202,58,203,59,205,60], [24,207,17,208,19,210,24,211,25,212,26], [25,214,11,215,13,216,18], [26,218,13,219,21,220,22,222,34,223,35,225,42,226,43], [27,228,11], [28,230,7,231,8,232,9], [29,234,5,235,6,236,7], [30,238,3,239,4], [31,241,3,243,10,244,12,245,13,247,14,248,16,250,26,251,28], [32,253,5,255,10,256,11,258,37,260,39,262,41,264,52,266,53,267,54], [33,269,3,270,4,271,5], [34,273,1]]}}{ "id": 4 }{"id":5,"command":"getStackTrace","params":{"isolateId":703850198}}{ "id": 5, "result": {"callFrames" : [ {"functionName":"main","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":27},"locals":[{"name":"webFiles","value":{"objectId":0,"kind":"object","text":"null"}}]},{"functionName":"_startIsolate@709387912","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":1247},"locals":[{"name":"parentPort","value":{"objectId":0,"kind":"object","text":"null"}},{"name":"entryPoint","value":{"objectId":1,"kind":"function","name":"main","signature":"() => void","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":17}}},{"name":"args","value":{"objectId":2,"kind":"list","length":0,"text":"[]"}},{"name":"message","value":{"objectId":0,"kind":"object","text":"null"}},{"name":"isSpawnUri","value":{"objectId":3,"kind":"boolean","text":"true"}},{"name":"controlPort","value":{"objectId":0,"kind":"object","text":"null"}},{"name":"capabilities","value":{"objectId":0,"kind":"object","text":"null"}}]},{"functionName":"<anonymous closure>","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":988},"locals":[{"name":"port","value":{"objectId":4,"kind":"object","classId":54,"text":"object of type RawReceivePortImpl"}},{"name":"entryPoint","value":{"objectId":1,"kind":"function","name":"main","signature":"() => void","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":17}}},{"name":"args","value":{"objectId":2,"kind":"list","length":0,"text":"[]"}},{"name":"@709387912","value":{"objectId":0,"kind":"object","text":"null"}}]},{"functionName":"_RawReceivePortImpl@709387912._handleMessage@709387912","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":649},"classId":54,"locals":[{"name":"handler","value":{"objectId":5,"kind":"function","name":"_startMainIsolate.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":971}}},{"name":"message","value":{"objectId":0,"kind":"object","text":"null"}}]}]}}{"id":6,"command":"setBreakpoint","params":{"isolateId":703850198,"line":20,"url":"bin/server.dart"}}{ "id": 6, "result": { "breakpointId": 1 }}{"id":7,"command":"resume","params":{"isolateId":703850198}}{ "id": 7 }{ "event": "breakpointResolved", "params": {"breakpointId": 1, "isolateId":703850198, "location":{"url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}{ "event": "paused", "params": { "reason": "breakpoint", "isolateId": 703850198,"breakpointId": 1,"location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163}}}{"id":8,"command":"getStackTrace","params":{"isolateId":703850198}}{ "id": 8, "result": {"callFrames" : [ {"functionName":"<anonymous closure>","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":163},"locals":[{"name":"webFiles","value":{"objectId":0,"kind":"object","classId":1340,"text":"object of type VirtualDirectory"}},{"name":"request","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_rootRunUnary@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6511},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_CustomZone@687914314.runUnary","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":5549},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}},{"name":"implementation","value":{"objectId":6,"kind":"object","classId":458,"text":"object of type _ZoneFunction"}},{"name":"parentDelegate","value":{"objectId":3,"kind":"object","text":"null"}}]},{"functionName":"_CustomZone@687914314.runUnaryGuarded","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4778},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":5,"kind":"function","name":"main.<anonymous closure>.<anonymous closure>.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"file:///app/bin/server.dart","libraryId":13,"tokenOffset":64}}},{"name":"arg","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_BufferingStreamSubscription@687914314._sendData@687914314","location": { "url":"dart:async/stream_impl.dart","libraryId":7,"tokenOffset":1731},"classId":361,"locals":[{"name":"this","value":{"objectId":7,"kind":"object","classId":354,"text":"object of type _ControllerSubscription"}},{"name":"data","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}},{"name":"wasInputPaused","value":{"objectId":8,"kind":"boolean","text":"false"}}]},{"functionName":"_BufferingStreamSubscription@687914314._add@687914314","location": { "url":"dart:async/stream_impl.dart","libraryId":7,"tokenOffset":1368},"classId":361,"locals":[{"name":"this","value":{"objectId":7,"kind":"object","classId":354,"text":"object of type _ControllerSubscription"}},{"name":"data","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_StreamController@687914314&&_SyncStreamControllerDispatch@687914314._sendData@687914314","location": { "url":"dart:async/stream_controller.dart","libraryId":7,"tokenOffset":2424},"classId":345,"locals":[{"name":"this","value":{"objectId":9,"kind":"object","classId":348,"text":"object of type _SyncStreamController<HttpRequest>"}},{"name":"data","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_StreamController@687914314._add@687914314","location": { "url":"dart:async/stream_controller.dart","libraryId":7,"tokenOffset":1667},"classId":344,"locals":[{"name":"this","value":{"objectId":9,"kind":"object","classId":348,"text":"object of type _SyncStreamController<HttpRequest>"}},{"name":"value","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_StreamController@687914314.add","location": { "url":"dart:async/stream_controller.dart","libraryId":7,"tokenOffset":1397},"classId":344,"locals":[{"name":"this","value":{"objectId":9,"kind":"object","classId":348,"text":"object of type _SyncStreamController<HttpRequest>"}},{"name":"value","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_HttpServer@497094340.<anonymous closure>","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18240},"classId":1045,"locals":[{"name":"this","value":{"objectId":10,"kind":"object","classId":1045,"text":"object of type _HttpServer"}},{"name":"request","value":{"objectId":1,"kind":"object","classId":1033,"text":"object of type _HttpRequest"}}]},{"functionName":"_rootRun@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6423},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}}]},{"functionName":"_CustomZone@687914314.run","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":5470},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}},{"name":"implementation","value":{"objectId":12,"kind":"object","classId":458,"text":"object of type _ZoneFunction"}},{"name":"parentDelegate","value":{"objectId":3,"kind":"object","text":"null"}}]},{"functionName":"_CustomZone@687914314.runGuarded","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4724},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}}]},{"functionName":"_CustomZone@687914314.<anonymous closure>","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4923},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"registered","value":{"objectId":11,"kind":"function","name":"_HttpServer._handleRequest.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:io/http_impl.dart","libraryId":12,"tokenOffset":18223}}}]},{"functionName":"_rootRun@687914314","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":6448},"locals":[{"name":"self","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}},{"name":"parent","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"zone","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}},{"name":"old","value":{"objectId":2,"kind":"object","classId":467,"text":"object of type _RootZone"}}]},{"functionName":"_CustomZone@687914314.run","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":5470},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}},{"name":"implementation","value":{"objectId":12,"kind":"object","classId":458,"text":"object of type _ZoneFunction"}},{"name":"parentDelegate","value":{"objectId":3,"kind":"object","text":"null"}}]},{"functionName":"_CustomZone@687914314.runGuarded","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4724},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"f","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}}]},{"functionName":"_CustomZone@687914314.<anonymous closure>","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4923},"classId":465,"locals":[{"name":"this","value":{"objectId":4,"kind":"object","classId":465,"text":"object of type _CustomZone"}},{"name":"registered","value":{"objectId":13,"kind":"function","name":"_CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}}]},{"functionName":"Timer.<anonymous closure>","location": { "url":"dart:async-patch/timer_patch.dart","libraryId":7,"tokenOffset":78},"classId":476,"locals":[{"name":"callback","value":{"objectId":14,"kind":"function","name":"CustomZone.bindCallback.<anonymous closure>","signature":"() => dynamic","location": { "url":"dart:async/zone.dart","libraryId":7,"tokenOffset":4916}}},{"name":"@687914314","value":{"objectId":15,"kind":"object","classId":1125,"text":"object of type _Timer"}}]},{"functionName":"_Timer@497094340.handleTimeout@497094340","location": { "url":"dart:io/timer_impl.dart","libraryId":12,"tokenOffset":1924},"classId":1125,"locals":[{"name":"@497094340","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"currentTime","value":{"objectId":16,"kind":"number","text":"1415717774505"}},{"name":"timer","value":{"objectId":15,"kind":"object","classId":1125,"text":"object of type _Timer"}},{"name":"nextTimer","value":{"objectId":15,"kind":"object","classId":1125,"text":"object of type _Timer"}},{"name":"next","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"callback","value":{"objectId":17,"kind":"function","name":"Timer._createTimer.<anonymous closure>","signature":"(dynamic) => dynamic","location": { "url":"dart:async-patch/timer_patch.dart","libraryId":7,"tokenOffset":72}}}]},{"functionName":"_RawReceivePortImpl@709387912._handleMessage@709387912","location": { "url":"dart:isolate-patch/isolate_patch.dart","libraryId":1,"tokenOffset":649},"classId":54,"locals":[{"name":"handler","value":{"objectId":18,"kind":"function","name":"_handleTimeout","signature":"(dynamic) => void","location": { "url":"dart:io/timer_impl.dart","libraryId":12,"tokenOffset":1692}}},{"name":"message","value":{"objectId":3,"kind":"object","text":"null"}}]}]}}{"id":9,"command":"getScriptSource","params":{"libraryId":13,"isolateId":703850198,"url":"file:/app/bin/server.dart"}}{"id": 9, "error": "Error: Dart_ScriptGetSource: script 'file:/app/bin/server.dart' not found in library 'file:///app/bin/server.dart'"}{"id":10,"command":"getObjectProperties","params":{"objectId":0,"isolateId":703850198}}{"id":10, "result":{"classId": 1340,"kind":"object","fields":[{"name":"root","value":{"objectId":19,"kind":"string","text":""web""}},{"name":"allowDirectoryListing","value":{"objectId":8,"kind":"boolean","text":"false"}},{"name":"followLinks","value":{"objectId":20,"kind":"boolean","text":"true"}},{"name":"jailRoot","value":{"objectId":20,"kind":"boolean","text":"true"}},{"name":"_pathPrefixSegments@1026937714","value":{"objectId":21,"kind":"list","length":0,"text":"[]"}},{"name":"_invalidPathRegExp@1026937714","value":{"objectId":22,"kind":"object","classId":57,"text":"object of type _JSSyntaxRegExp"}},{"name":"_errorCallback@1026937714","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"_dirCallback@1026937714","value":{"objectId":3,"kind":"object","text":"null"}}]}}{"id":11,"command":"getObjectProperties","params":{"objectId":1,"isolateId":703850198}}{"id":11, "result":{"classId": 1033,"kind":"object","fields":[{"name":"response","value":{"objectId":23,"kind":"object","classId":1036,"text":"object of type _HttpResponse"}},{"name":"_httpServer@497094340","value":{"objectId":10,"kind":"object","classId":1045,"text":"object of type _HttpServer"}},{"name":"_httpConnection@497094340","value":{"objectId":24,"kind":"object","classId":1044,"text":"object of type _HttpConnection"}},{"name":"_session@497094340","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"_requestedUri@497094340","value":{"objectId":3,"kind":"object","text":"null"}},{"name":"_incoming@497094340","value":{"objectId":25,"kind":"object","classId":1031,"text":"object of type _HttpIncoming"}},{"name":"_cookies@497094340","value":{"objectId":3,"kind":"object","text":"null"}}]}}{"id":12,"command":"getClassProperties","params":{"classId":1340,"isolateId":703850198}}{"id":12, "result":{"name":"VirtualDirectory","superclassId":32,"libraryId":14,"fields":[]}}{"id":13,"command":"getClassProperties","params":{"classId":1033,"isolateId":703850198}}{"id":13, "result":{"name":"_HttpRequest@497094340","superclassId":1032,"libraryId":12,"fields":[]}}{"id":14,"command":"resume","params":{"isolateId":703850198}}{ "id": 14 } cc @mhausner. |
In progress here: https://codereview.chromium.org/753183003/, but needs some additional testing. |
This has landed. Added Fixed label. |
Added this to the 1.8 milestone. |
The VM change done when resolving issue #21067 needs to be supported by the Dart Editor.
Maybe the Dart Editor can just always use relative paths starting at the project root to get the exact same behavior as before.
The text was updated successfully, but these errors were encountered: