Utilicé b "classname: function" o "b classname :: function", y esos no funcionaron. ahora utilizo "b linenum" como solución alternativa. Pero a medida que modifico mi código con frecuencia, lienza cambia. Entonces, ¿cómo hacer un punto de interrupción en la función miembro de clase en python? Lo googleo & & lea el manual de python, y no hay respuesta directa .¡Gracias!cómo hacer un punto de interrupción en la función miembro de clase de python?
10
A
Respuesta
14
En pdb
, el depurador de Python, el punto de corte se puede ajustar con
b classname.methodname
después de la definición de clase se ha analizado.
Por ejemplo,
% pdb ~/pybin/test.py
> /home/unutbu/pybin/test.py(4)<module>()
-> class Foo(object):
(Pdb) l
1 #!/usr/bin/env python
2 # coding: utf-8
3
4 -> class Foo(object):
5 def bar(self): pass
6
7 foo=Foo()
8 foo.bar()
[EOF]
Ajuste del punto de interrupción antes de analizar la clase de falla:
(Pdb) b Foo.bar
*** The specified object 'Foo.bar' is not a function
or was not found along sys.path.
pero después de analizar la clase:
(Pdb) n
> /home/unutbu/pybin/test.py(7)<module>()
-> foo=Foo()
(Pdb) l
2 # coding: utf-8
3
4 class Foo(object):
5 def bar(self): pass
6
7 -> foo=Foo()
8 foo.bar()
[EOF]
establecimiento de las obras de punto de interrupción :
(Pdb) b Foo.bar
Breakpoint 1 at /home/unutbu/pybin/test.py:5
(Pdb)
(Pdb) r
> /home/unutbu/pybin/test.py(5)bar()
-> def bar(self): pass
3
Para un punto de interrupción persistente, en la línea antes de que desea romper, también se puede utilizar:
import pdb; pdb.set_trace()
Véase el python doc para obtener más detalles.
Cuestiones relacionadas
- 1. Poner punto de interrupción en función nombrada
- 2. Definir punto de corte para la función de miembro de la clase no tiene éxito
- 3. Establecer un punto de interrupción en GDB
- 4. GoogleTest: cómo establecer un punto de interrupción?
- 5. decltype (función) como miembro de la clase
- 6. Puntero de función C++ (miembro de la clase) a la función miembro no estática
- 7. ¿Miembro estático de una función en Python?
- 8. ¿Cómo establecer un punto de interrupción al hacer clic en un botón de terceros?
- 9. Punto de interrupción señalando "objc_autoreleaseNoPool"
- 10. ¿Cómo distingue Python la función de devolución de llamada que es miembro de una clase?
- 11. ¿Cómo pasar la función de miembro como argumento en python?
- 12. En Python, ¿cómo puede obtener el nombre de la clase de una función miembro?
- 13. ¿Cómo volver a un punto de interrupción durante la depuración?
- 14. GDB cómo detener la ejecución sin un punto de interrupción?
- 15. Cómo hacer que el miembro de la clase funcione como función de subproceso usando boost
- 16. Cómo agregar un punto de interrupción condicional en Visual C++
- 17. ¿Cómo establecer un punto de interrupción en gdb para todas las invocaciones de una función?
- 18. punto de interrupción condicional en Visual Studio
- 19. a una función miembro en el depurador de Python
- 20. Función de miembro de clase de enlace a función c
- 21. Puntero de función al miembro de la clase estática?
- 22. Cómo simular un punto de interrupción Delphi en el código?
- 23. ¿Cómo se agrega un punto de interrupción en Xcode?
- 24. C++ miembro de la clase puntero a la función global
- 25. Calling "C++" función miembro de la clase de código
- 26. Cómo registrar un puntero de función de miembro derivado de clase con una clase base
- 27. Punto de interrupción condicional C#?
- 28. ¿Es posible establecer un punto de interrupción en funciones anónimas?
- 29. Configuración de punto de interrupción en NSKVODeallocateBreak
- 30. gdb punto de interrupción en pthread_create
gracias! Funciona. Configurar este tipo de puntos de interrupción después de la clase analizada es especialmente importante. – user1058909