NativeScript / NativeScript/ios

iOS in debug hangs after resuming from devtools breakpoint

Ouverte
#95 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
150
Forks
43
Merge moyen
3 j 10 h
PR mergées (30 j)
22

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Utilisez ns-v8ios-demo-debug-hang et reproduisez le problème avec ns debug ios, Chrome DevTools et l’instruction debugger. Inspectez NativeScript/inspector/JsV8InspectorClient.mm autour des lignes 177-178 et observez la boucle Xcode lorsque DevTools reprend l’exécution. C’est terminé lorsque des cycles répétés de pause/reprise ne bloquent plus l’application et ne laissent plus DevTools bloqué sur « Debugger paused ».

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
ios, javascript
Domaine
devtools, mobile-dev
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.