Estoy tratando con un servidor escrito por python que se bloquea y deja de funcionar, incluido el registro. Me pregunto si hay un pitón equivalente a la señal "kill -3" de java que al menos imprime la stacktrace actual.¿Cómo forzar a la VM de python a imprimir una traza de pila?
8
A
Respuesta
0
Puede encontrar una solución (solo para Unix) en this question.
2
import signal, traceback
def quit_handler(signum,frame):
traceback.print_stack()
signal.signal(signal.SIGQUIT,quit_handler)
4
utilizar el módulo faulthandler. https://pypi.python.org/pypi/faulthandler/
import faulthandler
faulthandler.register(signal.SIGUSR1)
Esto funciona fuera de la señal del bucle intérprete de Python manejo en el nivel C para que funcione incluso cuando el propio intérprete de Python se cuelga de espera en otra cosa.
Consulte también: http://docs.python.org/dev/library/faulthandler
+0
Como usted indica, 'faulthandler' está incluido en la biblioteca estándar de Python 3.3+ – rescdsk
Cuestiones relacionadas
- 1. Cómo imprimir la traza de pila de StackOverflowException
- 2. Cómo obtener y no imprimir la pila BuildException/ExitStatusException traza
- 3. ¿Cómo forzar a Google Chrome a mostrar la traza inversa en la excepción?
- 4. ¿Cómo mostrar la traza de pila completa en eclipse?
- 5. El retroceso de Proguard no mapea la traza de la pila a la fuente real
- 6. ¿Cómo forzar al rubí a mostrar el rastro de la pila completa?
- 7. Tarea Junit Ant, traza de la pila de salida
- 8. traza cómo se puede imprimir la pila de excepciones atrapados en C++ y la inyección de código en C++
- 9. ¿Cómo forzar al intérprete a mostrar el seguimiento completo de la pila?
- 10. Imprimir el seguimiento de la pila de una excepción
- 11. Imprimir pila de llamadas completa en printStackTrace()?
- 12. Desarrollo de iPhone - error EXC_BAD_ACCESS sin traza de pila
- 13. imprimir cadena de colores a la consola con python
- 14. ¿Cómo imprimir el seguimiento completo de pila en la excepción?
- 15. cómo forzar a google a volver a indexar una página
- 16. ¿Cómo forzar a iPython a usar una versión anterior de Python?
- 17. accediendo a localhost desde vm
- 18. Imprimir la información de seguimiento de la pila de C#
- 19. ¿Cómo se escribe una traza de pila completa en el registro?
- 20. Limitar memoria de Python VM
- 21. Cómo forzar una prueba RSpec a fallar?
- 22. ¿Cómo obligo a una pila a rastrear todos los errores fatales en Perl?
- 23. Cómo imprimir boost :: any a una secuencia?
- 24. volver a subir a excepción de Python y preservar seguimiento de la pila
- 25. Imprimir la pila de llamadas actual de un método en el código de Python
- 26. ¿Cómo forzar a QWidget a mostrarse en una ventana separada?
- 27. Cómo imprimir a la consola en GWT
- 28. ¿Cómo forzar a XPath a usar UTF8?
- 29. ¿Cómo forzar a Java a lanzar una excepción aritmética?
- 30. Imprimir seguimiento de pila en la ventana de salida
'kill envía -2' SIGINT, que al menos en Linux parece traducirse en una excepción' KeyboardInterrupt'. Eso podría causar que un rastro de pila se vierta en alguna parte. Depende del servidor, por supuesto. –