2009-03-22 4 views
0

J'ai un utilisateur de rapports se écrase dans mon application Mac OS X, et leurs journaux de la console le rapport suivant:Qu'est-ce qu'un "avertissement de symbolisation"?

Symbolication warning: error parsing FDE at 0x100052649 in:\n 

Quelqu'un at-il aperçu de ce que cela pourrait être? Je suppose que d'une façon ou d'une autre les symboles ont été retirés de mon application d'une manière qui fait obstacle au crash-reporter de Mac OS X, mais je ne l'ai jamais vu auparavant.

Répondre

0

Je peux honnêtement dire que je n'ai jamais vu celui-ci avant. J'ai vu un certain nombre d'autres problèmes de liaison dynamiques, mais pas celui-ci. Si l'utilisateur est prêt à vous aider avec ce problème, vous pouvez écrire un script shell pour activer certaines variables d'environnement de liaison dynamique, puis lancer votre application.

#! /bin/bash 
export DYLD_PRINT_LIBRARIES=1 
export DYLD_PRINT_LIBRARIES_POST_LAUNCH=1 
export DYLD_PRINT_APIS=1 
export DYLD_PRINT_BINDINGS=1 
export DYLD_PRINT_DOFS=1 
open -a Console.app > /tmp/link-log 2>&1 

Le journal de sortie peut fournir un indice sur ce qui se passe. Vous pouvez également capturer la sortie de otool et d'autres utilitaires de ligne de commande pour vérifier les bibliothèques inattendues et quoi d'autre. Vous pouvez vouloir google Symbolication pour avoir une meilleure idée de ce qui se passe ici. Je suis tombé sur un interesting chunk of code from Darwin qui pointe vers un avertissement de recherche de symbole dynamique. Il y a aussi un utilitaire appelé Shark qui peut aussi vous intéresser.

Bonne chance ...

+0

Ma meilleure estimation est que l'installation de l'utilisateur a quelque chose de très mauvais - je n'ai vu cela que d'un seul utilisateur jusqu'à maintenant. –

0

Je viens de trouver ce sujet via Google parce que j'ai le même problème. Le programme d'installation de StarCraft se bloque immédiatement. Il pointe vers/usr/libexec/oah/translate, ce qui semble fonctionner parfaitement bien. Je suppose que cela a quelque chose à voir avec le fait que l'ordinateur sur lequel il ne fonctionne pas fonctionne iDeneb 1.3 (alias Mac OS X 86 pour une utilisation sur du matériel non-Apple), alors que l'ordinateur qui exécute version de Leopard.

+0

Voilà Rosetta - le composant qui permet à l'utilisateur d'exécuter des applications PowerPC sur les mac Intel. Cela expliquerait certainement un certain nombre de choses dans nos deux cas. –

Questions connexes