Y at-il de toute façon de découvrir la valeur de python d'un PyObject * d'un corefile dans gdbManipulation des objets Python dans un fichier core
Répondre
Il y a beaucoup de travail, mais bien sûr, il peut être fait, surtout si vous avez tous les symboles Regardez les fichiers d'en-tête pour la version spécifique de Python (et les options de compilation utilisées pour la construire): ils définissent PyObject comme une structure qui inclut, en premier lieu, un pointeur sur un type. Beaucoup de macros sont utilisées, vous pouvez donc réexécuter la compilation de ce Python à partir des sources, avec exactement les mêmes drapeaux mais en plus un -E pour arrêter après le pré-traitement, donc vous pouvez vous référer au code C spécifique qui a fait les bits vous voyez dans la décharge de base. Un objet de type a, entre autres choses, une chaîne (array of char) qui est son nom, et à partir de là vous pouvez déduire ce que contiennent exactement les objets de ce type - soit directement le contenu, soit peut-être du contenu (comme une longueur, c'est-à-dire le nombre d'éléments) et un pointeur vers les données réelles.
J'ai fait un tel débogage post-mortem super-avancé à quelques reprises (en commençant par une connaissance très précise des versions Python impliquées et toutes les sources pré-préparées préparées) et chaque fois cela m'a pris un jour ou deux (Avais-je encore un freelance et charge à l'heure, si je devais enchérir sur une telle tâche, je dirais au moins 20 heures - à mon taux horaire pas-bon marché! -). IOW, ça vaut le coup que si c'est vraiment le seul moyen de sortir de certains cornichons très coûteux. Sur le plan positif, il vous en apprendra plus sur les internes de Python que vous ne l'auriez jamais pensé, même après avoir mémorisé chaque ligne des sources. Bonne chance, vous en aurez besoin !!!
- 1. Collecte des ordures ménagères Core Foundation objets
- 2. Manipulation du temps en python
- 3. Dictionnaire Python pour stocker des objets socket
- 4. manipulation de chaînes en Python docstrings
- 5. en utilisant des objets Python en C#
- 6. Objets incorporés dans des documents MS Office utilisant Python?
- 7. Traverser plusieurs objets Core Data à l'aide de NSPredicate
- 8. l'exception par défaut de Python manipulation
- 9. Manipulation des données Hiérarchie
- 10. core données récupérer des résultats
- 11. Comment spécifier des alias de type et des objets dans un fichier de configuration Spring.NET externe
- 12. Fichier de manipulation-> Nouveau dans Word 2007
- 13. XSLT: Manipulation Noeud sélectif
- 14. Manipulation d'image dans CodeIgniter
- 15. Comment recharger un module Python importé dans un autre fichier?
- 16. XSLT: attribut conditionnel Valeur manipulation
- 17. Comment créer des objets dynamiquement de façon élégante en python?
- 18. Comment affecter un processus à un core dans Windows XP
- 19. comment prendre un fichier comme un objet dans un fichier en python
- 20. Core Data quesition
- 21. Cloner des objets dans VBA?
- 22. Core Data - Dans l'espoir d'erreurs, d'obtenir des exceptions
- 23. Renommer des objets dans PowerPoint
- 24. Vérification des attributs de fichier en python
- 25. Quelle est l'approche typique pour écrire des objets NSString dans un fichier?
- 26. Manipulation de chaînes dans MySQL
- 27. Combinaison de deux objets JSON dans un
- 28. Fractionner un gros fichier XML en Python
- 29. iPhone Core Data récupérer des manipulations de date
- 30. SketchFlow Export vers le fichier Word et l'ordre des objets