Rapports d'incident
Ce que la station conserve quand elle se ferme de façon inattendue, ce qu'elle envoie et quand elle demande, et les deux commandes de débogage que porte une build de développement.
Rapports d'incident est la seule ligne du groupe DIAGNOSTIC de la page Paramètres. Un incident n'est jamais envoyé pendant que l'application tombe : il est capturé dans un fichier, et le démarrage suivant soit l'envoie, soit vous le montre et vous demande. Cette section porte l'unique interrupteur qui décide lequel. La page demande la permission Modifier les paramètres.
Envoyer les rapports d'incident automatiquement
| Champ | Ce que c'est | Valeurs / défaut | Effet |
|---|---|---|---|
| Envoyer les rapports d'incident automatiquement | « Quand l'application se ferme sur une erreur, envoie le rapport au démarrage suivant sans rien demander. Désactivé : le rapport vous est montré et votre accord est demandé. » | Activé ou désactivé. Désactivé par défaut. | Activé : le démarrage suivant envoie le rapport capturé en silence et l'efface une fois que le serveur l'a accepté. Désactivé : le démarrage visible suivant ouvre la boîte de dialogue de consentement. |
Tant que le runtime est arrêté, cette page n'est pas dessinée du tout (voir Paramètres). Le même accord est proposé à l'intérieur de la boîte de dialogue de consentement elle-même, sous la forme de la case « Toujours envoyer les rapports d'incident automatiquement », et la cocher là active cet interrupteur. Sous l'interrupteur, la carte dit : « Pour signaler une anomalie, suggérer une amélioration ou demander un pilote, utilisez la page Compte. » Ce formulaire est Vos retours, parce qu'il envoie avec le compte Ganter.
Ce que contient un rapport
Quand une erreur non gérée fait tomber l'application, les gestionnaires globaux écrivent un seul fichier, crash\pending-crash.json sous la racine de données de la station, et ne gardent que l'incident le plus récent. Il contient :
- la version de l'application et la version de Windows ;
- l'endroit où l'erreur a été attrapée (Dispatcher, AppDomain, TaskScheduler, ou Startup pour un démarrage qui n'a pas abouti) ;
- le type de l'exception, son message et le texte complet de la pile, exceptions internes comprises ;
- les 60 dernières lignes du fichier journal le plus récent, comme contexte menant à la faute ;
- le moment où cela s'est produit.
Avant l'écriture, le nom d'utilisateur Windows et le chemin du profil sont remplacés par <user> et <userprofile> partout où ils apparaissent. Ce nettoyage est un filet de sécurité, pas une garantie : des lignes de journal en texte libre peuvent porter d'autres noms, et c'est pourquoi la boîte de dialogue montre toute la charge avant que quoi que ce soit ne parte.
La boîte de dialogue de consentement au démarrage suivant
Avec l'interrupteur désactivé, le premier démarrage visible après un incident ouvre Envoyer le rapport d'incident ? par-dessus le shell : « Ganter Lab s'est fermé de façon inattendue la dernière fois. L'envoi de ce rapport nous aide à corriger le problème. Il contient l'erreur et un court extrait du journal récent. Relisez-le ci-dessous avant de l'envoyer. » La zone Détail de l'incident montre exactement ce qui serait envoyé, avec un bouton Copier qui met le même texte dans le presse-papiers (« Copié » un instant) pour que vous puissiez le chercher ou le remettre au support. Si le presse-papiers refuse, le bouton indique « La copie n’a pas fonctionné », pour qu’une copie qui n’a pas eu lieu ne passe pas pour une copie réussie ; le texte reste à l’écran et se sélectionne à la main.
| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
|---|---|---|---|
| Toujours envoyer les rapports d'incident automatiquement (case à cocher) | Active l'interrupteur ci-dessus à la fermeture de la boîte de dialogue, que vous envoyiez ce rapport ou non. | Tant que le runtime est arrêté (infobulle « Runtime arrêté »). La boîte de dialogue appartient au shell, donc elle est encore dessinée quand cette page ne l'est pas. | Jamais. |
| Ne pas envoyer | Écarte ce rapport et efface le fichier ; il ne vous est plus demandé pour celui-ci. | Jamais. | Jamais. |
| Envoyer le rapport | L'envoie. « Rapport d'incident envoyé » en notification en cas de succès ; « Rapport d'incident non envoyé » avec la raison quand le serveur n'a pas pu être joint, auquel cas le fichier reste et vous pouvez l'envoyer maintenant ou il vous est redemandé au démarrage suivant. | Jamais. | Jamais. |
Un démarrage masqué dans la zone de notification (Démarrer avec Windows, ou un lancement --tray) ne montre aucune boîte de dialogue ; le rapport attend le démarrage visible suivant. Avec l'interrupteur activé, l'envoi se fait en arrière-plan sans boîte de dialogue, et une station qui était hors ligne garde le fichier et réessaie au démarrage suivant.
Le rapport part vers le point de terminaison de retours du serveur Ganter. Il est attribué au compte Ganter connecté sur la page Compte quand il y en a un, et accepté sans compte sinon. Rien d'autre ne quitte la station : il n'y a aucune télémétrie d'usage.
Les commandes de débogage
Une build de développement de l'application porte deux boutons sous l'interrupteur ; une version installée n'en a aucun.
| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
|---|---|---|---|
| Simuler un incident (débogage) | Lève une erreur non gérée sur le fil de l'interface pour que le chemin de capture écrive un vrai fichier d'incident et que le démarrage suivant exerce le flux de consentement. | Jamais. | Pas dans une build de version. |
| Capturer l'écran (débogage) | Exécute la même capture d'écran que les outils d'interface de l'agent emploient, dans le processus, et écrit le résultat sous le bouton : « Enregistré : <path> » ou « Échec de la capture : <reason> ». Sur un hôte sans fenêtre, le résultat dit que la capture est indisponible. |
Jamais. | Pas dans une build de version. |
Ce que cette section ne fait pas
Il n'y a pas de visionneuse de journal ici : le journal vit sur Événements, sur son onglet Console technique, avec la capture détaillée et le pack de support. Les signalements d'anomalies et les demandes sont sur Vos retours. Le fichier d'incident ne se modifie pas depuis l'application, et l'application n'envoie jamais rien sans l'interrupteur ou sans le Envoyer de la boîte de dialogue.