0
votes

Comment rendre les messages debug.log avant de crousser l'unité

Quand l'unité se bloque debug.log S de l'événement précédent ne rendez pas. Qui se trouve être l'événement même qui a écrasé l'unité (probablement via une boucle)

Jusqu'à présent, j'ai trouvé application.Quit (), mais évidemment, je ne peux que l'utiliser si je sais précisément quand l'unité s'écraserait (pour Exemple de découverte de laquelle des boucles de certaines (non imbriquées) se bloque)

(J'ai également trouvé beaucoup d'informations qui n'ont rien fait, comme l'ouverture de la fenêtre de la console avant de commencer la partie. Ne pas répertorager tout de cela) si)

Je suppose que cet exemple de code doit décrire suffisamment le problème: xxx

évidemment, seule la première itération arrive. Mais la boucle interne ne s'écrasera généralement pas pendant les premières fois. Je voudrais donc enregistrer certaines valeurs chaque fois que la boucle interne se termine.


0 commentaires

3 Réponses :


0
votes

Vous pourriez entourer le bloc en question avec un essai attraper. Si cela jette une erreur, vous pouvez le connecter dans le bloc de capture. XXX


1 commentaires

Je suis assez certaine que l'unité entoure déjà chaque événement avec un bloc de capture. La chose est que vous ne pouvez pas attraper une boucle infinie (ou quoi que ce soit d'autre, l'unité s'écrase)



1
votes

Vous pouvez utiliser les journaux ADB dans cmd.

Si vous utilisez Unity avec Android, vous devez avoir déjà installé ADB via Android SDK. Étant donné que oui, il devrait être simple et évident. Et Ben a raison. Vous n'avez pas assez semblé google ou prenez des efforts ici ... mais je déteste simplement des questions simples sans réponse.

Il n'y a que quelques choses à assurer:

Assurez-vous que le débogage USB est activé sur le périphérique Android (chèque sous Paramètres -> Développement). - Exécutez ADB via l'invite de commande (avec l'argument de ligne de commande LOGCAT) fourni avec le SDK Android tout en exécutant le jeu sur l'Android, toujours connecté via USB à l'ordinateur. xxx

Enfin, si le pont de débogage Android ne peut pas vous aider, je ne suis pas sûr de ce qui pourrait. Il y avait ceci une fois, en fait, cela ne pourrait pas m'aider ... mais j'ignore un avertissement d'unité, alors j'ai fait la liste de contrôle du débogage dans le mauvais ordre.

source du Réponse < / p>


1 commentaires

Merci d'avoir répondu. Je n'utilise pas Android. Je suis sur Windows



1
votes

Vous pouvez ajouter un écouteur à l'événement du message de journal ( application.logmessagereceiveed code>) dans l'unité et stockez-le dans un fichier ou envoyez-le via le réseau pour éviter les perdre.

void Awake() 
{
    DontDestroyOnLoad(this);
    Application.logMessageReceived += HandleLog;
}

void OnApplicationQuit()
{
    Application.logMessageReceived -= HandleLog;
}

void HandleLog(string logString, string stackTrace, LogType type) 
{
    File.AppendAllText ("D:/Log.txt" /*Path to your log folder*/, logString + stackTrace);
}


0 commentaires