NativeScript / NativeScript/ios

iOS in debug hangs after resuming from devtools breakpoint

Aperta
#95 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
JavaScript
Stelle
150
Fork
43
Merge medio
3g 10h
PR unite (30g)
22

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Usa ns-v8ios-demo-debug-hang e riproduci il problema con ns debug ios, Chrome DevTools e l'istruzione debugger. Ispeziona NativeScript/inspector/JsV8InspectorClient.mm intorno alle righe 177-178 e osserva il ciclo di Xcode quando DevTools riprende l'esecuzione. Il lavoro è completato quando cicli ripetuti di pausa/ripresa non bloccano più l'app né lasciano DevTools bloccato su “Debugger paused”.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
ios, javascript
Ambito
devtools, mobile-dev
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.