2010-02-03 10 views
7

Auparavant, stdout était envoyé au journal de la console, affiché par Console.app. J'ai eu quelques problèmes avec un plugin firefox (voir d'autres questions, désolé pour le spam ...) et j'essayais d'utiliser printfs pour au moins voir si je commençais mon plugin.Où est stdout pour une application Mac?

J'ai juste noté aujourd'hui que mon journal de console n'a pas été mis à jour depuis le 6 janvier. (Oui, j'utilisais la machine depuis le mois passé.) Maintenant, je ne suis pas le seul programme qui utilise la console log, donc tous ces messages doivent aller quelque part ailleurs.

Est-ce que quelqu'un sait où?

Le problème était que syslogd était cassé. C'est corrigé maintenant.

+1

Cela pourrait appartenir à superuser.com, pas sûr ... Mais j'ai aussi remarqué le même problème ... – Josh

+0

bien, c'est la programmation à moi parce que j'utilise printf pour y arriver ... mais oui, super-utilisateur En savoir plus ... Quand est-ce que le vôtre a commencé? –

Répondre

3

printf devrait aller à la Console.app. On dirait que le tien est cassé.

Une bonne façon de déboguer votre plugin serait de définir FireFox comme exécutable personnalisé de votre projet XCode et de l'exécuter dans le débogueur. Ensuite, la console XCode attraperait la sortie. Dans ce cas, vous utilisez également un point d'arrêt pour voir si votre plugin se chargeait au lieu de printf.

+0

Peut-être que je faisais quelque chose de mal avant, mais dans le passé, quand j'ai essayé ça, xcode est devenu confus car firefox n'est pas compilé avec des symboles ... –

+0

Vous ne recevrez pas de symboles de Firefox, mais vous pourrez pour définir des points d'arrêt dans votre code de plug-in. –

+0

Lorsque j'essaie cela, firefox se bloque, demande si vous voulez redémarrer, puis se bloque à nouveau, mousser répéter répéter. –

3

Solution: le problème n'était pas que stdout n'allait pas à la console. Le problème était que la console n'était pas écrite car syslogd était encombré. Syslogd était en cours de sandbox pour une raison quelconque, et donc RIEN n'avait été écrit sur la console depuis le 6 janvier. La solution était de re-commenter la section «décommenter cette si vous voulez sandbox syslogd» de LaunchDaemons/com. apple.syslogd.plist.

La solution est venue de superuser.com .... merci!

+1

Avez-vous le lien vers la question du super-utilisateur? – Albert

+0

Aussi, je n'ai pas/voir cette section. Le fichier est au format bplist. – Albert