Appelez le débogueur python à tout moment

Souvent, j'écris du code Python et je veux appeler le débogueur à un moment donné. Si vous connaissez la situation que vous souhaitez appeler à l'avance, vous pouvez simplement spécifier un point d'arrêt dans pdb ou incorporer "import pdb; pdb.set_trace ()" dans votre code, mais c'est un timing complètement "arbitraire". Ce n'est pas le cas. Lorsque j'ai vérifié s'il était possible de s'attacher à un processus en cours d'exécution dans gdb, StackOverflow avait une méthode élégante, je l'enregistrerai donc ici.

python - Attaching a process with pdb - Stack Overflow

python


import signal
def handle_pdb(sig, frame):
    import pdb
    pdb.Pdb().set_trace(frame)
if __name__ == '__main__':
    signal.signal(signal.SIGUSR1, handle_pdb)

Ce que nous faisons est aussi simple que d'appeler pdb lorsque le signal SIGUSR1 est appelé. Vous pouvez l'utiliser sauf si vous utilisez déjà SIGUSR1 à d'autres fins. Vous pouvez utiliser d'autres signaux disponibles.

cf. utiliser gdb directement

Le gdb d'aujourd'hui a intégré python, qui permet des opérations avancées. Si vous avez un symbole de débogage pour python en cours d'exécution, je pense qu'il est possible de l'attacher directement avec gdb et de tracer le code source au niveau de python. Le matériel présenté par M. Nojima au groupe d'étude Daiunetsu Debian en 2013 sera utile. Ici, nous faisons le débogage au niveau de la source de php. La gestion des symboles de débogage diffère selon le système d'exploitation, la distribution et la méthode d'installation, veuillez donc lire ce point comme il convient.

Recommended Posts

Appelez le débogueur python à tout moment
Au moment de la mise à jour de python avec ubuntu
Obtenez une instance datetime à tout moment de la journée en Python
Appelez l'API avec python3.
Voir python pour la première fois
[Python 3.8 ~] Réécrire des tableaux etc. en même temps que la définition [astuces]
MongoDB avec Python pour la première fois
Cours de base Python (à la fin de 15)
Installez le module Python dans n'importe quel répertoire
[Python] [Apprentissage automatique] Les débutants sans aucune connaissance essaient l'apprentissage automatique pour le moment
[Python] Comment ouvrir deux fichiers ou plus en même temps
Premier Python
[Python] Tracé de carte en couleur au niveau de la ville / quartier / ville / village
[python] Vérifier les éléments de la liste tous, tous
33 sélections sur lesquelles l’ingénieur soshage met l’accent lors de la révision des codes [ajoutés à tout moment]
Utilisez Logger avec Python pour le moment
mesure du temps python
J'ai essayé la programmation python pour la première fois.
Envoyer Gmail à la fin du processus [Python]
Premier Python
python chez docker
Boucle les variables en même temps dans le modèle
Transformez plusieurs listes avec l'instruction for en même temps en Python
Supprimer une chaîne spécifique à la fin de python
Appeler Polly à partir du kit SDK AWS pour Python
Ce que je suis entré dans Python pour la première fois
J'ai essayé Python sur Mac pour la première fois.
Exécutez avec CentOS7 + Apache2.4 + Python3.6 pour le moment
[Python] Mesure et affiche le temps nécessaire au traitement
Affiche l'heure à partir du moment où le programme a été lancé en python
J'ai essayé python pour la première fois avec heroku
Visualisez les données et saisissez la corrélation en même temps
Cette fois, j'ai appris Python I et II à Progate.
Appelez votre propre module python à partir du package ROS
Tâches au démarrage d'un nouveau projet python
Python: analyse des séries chronologiques
Trouvez le maximum de Python
Temps d'exécution de la fonction (Python)
J'ai essayé la même analyse de données avec kaggle notebook (python) et PowerBI en même temps ②
le zen de Python
Comment démarrer le PC à une heure fixe chaque matin et exécuter le programme python
Question sur la série chronologique Python
J'ai essayé la même analyse de données avec kaggle notebook (python) et PowerBI en même temps ①
Sortie du temps d'exécution de python
Fonction de plancher de temps (Python)
[Python] Fractionner la date
python Obtenir l'heure actuelle
Fonction intégrée Python ~ divmod ~ Obtenons le quotient et le reste de la division en même temps
J'étais accro au débogueur Python pdb pendant 2 minutes
Essayez d'utiliser le framework Web Python Django (2) - Regardez setting.py
wxPython: dessin simultané d'animation et de dessin graphique
Comment utiliser la méthode __call__ dans la classe Python
Grep pour que grep n'apparaisse pas au moment de grep
Se présenter à Qiita pour la première fois (test post)
[Python] Afficher le temps écoulé en heures, minutes et secondes (00:00:00)
Obtenez la date et l'heure actuelles en Python, en tenant compte du décalage horaire
Jetez un œil à l'arborescence des exceptions intégrée à Python
Travaille automatiquement sur le projet python spécifié lors de la connexion à zsh
Reverse pull Numpy / Pandas (sera mis à jour à tout moment)