La meilleure façon d'enlever les symboles
La semaine dernière j'ai sorti le Linux et windows version d'une application.
Et après le communiqué que nous avons réalisé que les symboles n'ont pas été dépouillé, et mon manager pense (et je suis en désaccord) qu'il peut permettre à l'utilisateur de comprendre notre algorithme.
De toute façon, maintenant, je dois nettoyer les symboles et les re-publier l'application.
Ma question,
- Quelle est la meilleure façon de bande de symboles dans Linux?
- Quelle est la meilleure façon de bande de symboles dans Windows?
Je pense que les symboles de débogage aider les gens à comprendre votre algorithme. Si ils examinent la pile d'appel à différents points de votre programme à exécution, et ils peuvent voir descriptif des noms de fonction, alors...
Selon la façon dont votre application est construite, décapage pourrait également réduire votre application empreinte par un ensemble beaucoup (surtout si vous utilisez beaucoup de bibliothèques statiques)! En général, le décapage est de bonne pratique pour tout ce que vous expédiez.
Selon la façon dont votre application est construite, décapage pourrait également réduire votre application empreinte par un ensemble beaucoup (surtout si vous utilisez beaucoup de bibliothèques statiques)! En général, le décapage est de bonne pratique pour tout ce que vous expédiez.
OriginalL'auteur Alphaneo | 2011-04-22
Vous devez vous connecter pour publier un commentaire.
Avec Visual C++ (et d'autres compilateurs Microsoft) sur Windows, les symboles ne sont pas inclus dans les fichiers binaires. Au lieu de cela, ils sont stockés dans des fichiers séparés, appelé "Programme de Base de données" des fichiers (.fichiers pdb). Il suffit de ne pas fournir le .fichiers pdb.
Avec la chaîne d'outils GNU, vous utilisez
strip
pour supprimer les symboles des fichiers binaires.OriginalL'auteur James McNellis
De la chaîne d'outils GNU, il existe un endroit frais de la prestidigitation:
Maintenant, vous pouvez compresser le dossier de votre programme (ou emballer dans un programme d'installation ou de quoi que ce soit), il n'y aura plus de symboles de débogage dans.
MAIS : Si vous lancer le débogueur ou si vous exécutez un outil comme
addr2line
ouobdump
, l'outil (grâce à la debuglink info) automagiquement de savoir où trouver les symboles et les charger.Qui est génial, parce que cela signifie que vous avez les avantages d'avoir des symboles sur votre fin, sans les distribuer à l'utilisateur.
OriginalL'auteur Damon