Maison développement back-end Tutoriel Python 使用PDB简单调试Python程序简明指南

使用PDB简单调试Python程序简明指南

Jun 06, 2016 am 11:26 AM
python程序

在 Python 中也可以像 gcc/gdb 那样调试程序,只要在运行 Python 程序时引入 pdb 模块(假设要调试的程序名为 d.py):

代码如下:


$ vi d.py
#!/usr/bin/python

def main():
        i, sum = 1, 0
        for i in xrange(100):
                sum = sum + i
        print sum

if __name__ == '__main__':
        main()

$ python -m pdb d.py


运行上面的命令后进入以下界面,可以输入类似 gdb 的命令来改变程序的执行流程:

代码如下:


$ python -m pdb 1.py
> d.py(3)()
-> def main():
(Pdb)


list 显示程序的最近代码段:

代码如下:


(Pdb) list
  1   #!/usr/bin/python
  2   
  3  -> def main():
  4    i, sum = 1, 0
  5    for i in xrange(100):
  6     sum = sum + i
  7    print sum
  8   
  9   if __name__ == '__main__':
 10    main()
[EOF]


next 或者 n 执行下一行代码:

代码如下:


(Pdb) next
> d.py(9)()
-> if __name__ == '__main__':


用 break 在第6行设置一个断点:

代码如下:


(Pdb) break d.py:6
Breakpoint 1 at d.py:6

(Pdb) list
  1   #!/usr/bin/python
  2   
  3   def main():
  4    i, sum = 1, 0
  5  ->  for i in xrange(100):
  6 B   sum = sum + i
  7    print sum
  8   
  9   if __name__ == '__main__':
 10    main()
[EOF]


如果想在函数处设置断点:

代码如下:


(Pdb) break d.main
d.py:3

(Pdb) list
  1   #!/usr/bin/python
  2   
  3 B def main():
  4  ->  i, sum = 1, 0
  5    for i in xrange(100):
  6     sum = sum + i
  7    print sum
  8   
  9   if __name__ == '__main__':
 10    main()
[EOF]


还可以给断点加条件,比如设置条件只有当 sum > 50 的时候才 break:

代码如下:


(Pdb) break d.py:6, sum > 50
Breakpoint 1 at d.py:6


如果想查看某个变量的值,可以用 pp 命令打印出来:

代码如下:


(Pdb) step
> d.py(5)main()
-> for i in xrange(100):
(Pdb) pp sum
0


可以直接在程序里使用 pdb 模块,import pdb 后 pdb.set_trace():

代码如下:


#!/usr/bin/python
import pdb

def main():
        i, sum = 1, 0
        for i in xrange(100):
                sum = sum + i
        pdb.set_trace()
        print sum

if __name__ == '__main__':
        main()


这样只要运行程序 ./d.py 就可以直接运行到 print sum 处:

代码如下:


$ ./d.py
> d.py(9)main()
-> print sum
(Pdb)


总结

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter un programme python dans notepad++ Comment exécuter un programme python dans notepad++ Apr 08, 2024 am 03:24 AM

L'utilisation de Notepad++ pour exécuter un programme Python nécessite les étapes suivantes : 1. Installez le plug-in Python ; 2. Créez un fichier Python ; 3. Définissez les options d'exécution ; 4. Exécutez le programme.

Tutoriel d'utilisation de PyCharm : vous guide en détail pour exécuter l'opération Tutoriel d'utilisation de PyCharm : vous guide en détail pour exécuter l'opération Feb 26, 2024 pm 05:51 PM

PyCharm est un environnement de développement intégré (IDE) Python très populaire. Il fournit une multitude de fonctions et d'outils pour rendre le développement Python plus efficace et plus pratique. Cet article vous présentera les méthodes de fonctionnement de base de PyCharm et fournira des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement et à maîtriser l'utilisation de l'outil. 1. Téléchargez et installez PyCharm Tout d'abord, nous devons nous rendre sur le site officiel de PyCharm (https://www.jetbrains.com/pyc

Tutoriel avancé PyCharm : utilisez PyInstaller pour empaqueter le code au format EXE Tutoriel avancé PyCharm : utilisez PyInstaller pour empaqueter le code au format EXE Feb 20, 2024 am 09:34 AM

PyCharm est un puissant environnement de développement intégré Python qui fournit une multitude de fonctions et d'outils pour aider les développeurs à améliorer leur efficacité. Parmi eux, PyInstaller est un outil couramment utilisé qui permet de regrouper le code Python dans un fichier exécutable (format EXE) pour faciliter l'exécution sur des machines sans environnement Python. Dans cet article, nous présenterons comment utiliser PyInstaller dans PyCharm pour empaqueter le code Python au format EXE et fournirons des informations spécifiques.

PyCharm Community Edition prend-il en charge suffisamment de plugins ? PyCharm Community Edition prend-il en charge suffisamment de plugins ? Feb 20, 2024 pm 04:42 PM

PyCharm Community Edition prend-il en charge suffisamment de plugins ? Besoin d'exemples de code spécifiques Alors que le langage Python devient de plus en plus largement utilisé dans le domaine du développement logiciel, PyCharm, en tant qu'environnement de développement intégré (IDE) Python professionnel, est favorisé par les développeurs. PyCharm est divisé en deux versions : la version professionnelle et la version communautaire. La version communautaire est fournie gratuitement, mais sa prise en charge des plug-ins est limitée par rapport à la version professionnelle. La question est donc la suivante : PyCharm Community Edition prend-il en charge suffisamment de plug-ins ? Cet article utilisera des exemples de code spécifiques pour

Llama3 arrive soudainement ! La communauté open source est à nouveau en ébullition : l'ère de l'accès gratuit aux modèles de niveau GPT4 est arrivée Llama3 arrive soudainement ! La communauté open source est à nouveau en ébullition : l'ère de l'accès gratuit aux modèles de niveau GPT4 est arrivée Apr 19, 2024 pm 12:43 PM

Llama3 est là ! Tout à l'heure, le site officiel de Meta a été mis à jour et le responsable a annoncé les versions de Llama à 38 milliards et 70 milliards de paramètres. Et c'est un SOTA open source après son lancement : les métadonnées officielles montrent que les versions Llama38B et 70B surpassent tous les adversaires dans leurs échelles de paramètres respectives. Le modèle 8B surpasse Gemma7B et Mistral7BInstruct sur de nombreux benchmarks tels que MMLU, GPQA et HumanEval. Le modèle 70B a surpassé le populaire poulet frit Claude3Sonnet et a fait des allers-retours avec le GeminiPro1.5 de Google. Dès que le lien Huggingface est sorti, la communauté open source est redevenue enthousiasmée. Les étudiants aveugles aux yeux perçants ont également découvert immédiatement

processus de développement de programmes Python processus de développement de programmes Python Apr 20, 2024 pm 09:22 PM

Le processus de développement d'un programme Python comprend les étapes suivantes : Analyse des exigences : clarifier les besoins de l'entreprise et les objectifs du projet. Conception : déterminez l'architecture et les structures de données, dessinez des organigrammes ou utilisez des modèles de conception. Ecriture de code : Programme en Python, suivant les conventions de codage et les commentaires de la documentation. Tests : Rédaction de tests unitaires et d'intégration, réalisation de tests manuels. Révision et refactorisation : révisez le code pour trouver les failles et améliorer la lisibilité. Déployer : déployez le code dans l’environnement cible. Maintenance : corrigez les bugs, améliorez les fonctionnalités et surveillez les mises à jour.

Premiers pas avec Python GIL : Comment comprendre et utiliser le verrou global de l'interpréteur Premiers pas avec Python GIL : Comment comprendre et utiliser le verrou global de l'interpréteur Feb 27, 2024 am 09:10 AM

Qu’est-ce que le GIL ? GIL est l'abréviation de global interpréteur lock, qui est un concept important de l'interpréteur Python. Le GIL garantit que l'interpréteur Python ne peut exécuter qu'un seul thread à la fois. Cela signifie qu'à tout moment, un seul thread peut exécuter le bytecode Python. Les autres threads doivent attendre que le GIL soit disponible avant de poursuivre l'exécution. Comment fonctionne le GIL ? Le GIL est un verrou écrit en C et situé dans l'interpréteur Python. Lorsqu'un thread souhaite exécuter le bytecode Python, il doit d'abord obtenir le GIL. Si le GIL est déjà détenu par un autre thread, ce thread doit attendre que le GIL soit disponible avant de poursuivre l'exécution. Quel impact le GIL a-t-il sur les programmes Python ? GIL pour Python

Tutoriel d'installation et de configuration de Flask : un outil pour créer facilement des applications Web Python Tutoriel d'installation et de configuration de Flask : un outil pour créer facilement des applications Web Python Feb 20, 2024 pm 11:12 PM

Tutoriel d'installation et de configuration de Flask : Un outil pour créer facilement des applications Web Python, des exemples de code spécifiques sont nécessaires Introduction : Avec la popularité croissante de Python, le développement Web est devenu l'une des compétences nécessaires pour les programmeurs Python. Pour réaliser du développement web en Python, nous devons choisir un framework web adapté. Parmi les nombreux frameworks Web Python, Flask est un framework simple, facile à utiliser et flexible qui est privilégié par les développeurs. Cet article présentera l'installation du framework Flask,

See all articles