NativeScript / NativeScript/ios

iOS in debug hangs after resuming from devtools breakpoint

Offen
#95 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
JavaScript
Sterne
150
Forks
43
Ø Merge
3 T. 10 Std.
Gemergte PRs (30 T.)
22

Beschreibung

Very glad to see devtools console autocomplete suggestions working again after updating to 7.1.0, but unfortunately the latest release seems to have broken other parts of devtools debugging for me.

Reproduction steps:

git clone https://github.com/delaneyb/ns-v8ios-demo-debug-hang
cd ns-v8ios-demo-debug-hang
ns debug ios
  • Attach Chrome Devtools (MacOS Chrome 87.0.4280.88 (Official Build) (x86_64))
  • Tap on the "Blank-{N}-Vue app" label to trigger the debugger statement in devtools
  • Continue execution in devtools
  • May have to repeat a few times and eventually the app and devtools will be in a hung state, with no button taps/debugger statement registered and devtools stuck showing "Debugger paused". Xcode debugger shows 100% CPU utilisation with the app in a loop on the following line, and JsV8InspectorClient::quitMessageLoopOnPause not being called as expected when the resume button is pressed in devtools.

https://github.com/NativeScript/ns-v8ios-runtime/blob/ee5ee85bc38b284186ccbbce75b5eea47ec90277/NativeScript/inspector/JsV8InspectorClient.mm#L177-L178

Devices:
iPhone 12, iOS 14.2, iPhone 11 simulator
i5 16GB 2017 Intel MBP, MacOS Big Sur 11.2 Beta

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Verwende ns-v8ios-demo-debug-hang und reproduziere das Problem mit ns debug ios, Chrome DevTools und der debugger-Anweisung. Untersuche NativeScript/inspector/JsV8InspectorClient.mm im Bereich der Zeilen 177–178 und beobachte die Xcode-Schleife, wenn DevTools die Ausführung fortsetzt. Die Aufgabe ist abgeschlossen, wenn wiederholte Pause/Fortsetzen-Zyklen die App nicht mehr aufhängen und DevTools nicht mehr bei „Debugger paused“ stecken bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ios, javascript
Bereich
devtools, mobile-dev
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.