filmov
tv
Debugging Hung Python Processes with GDB

Показать описание
by Brian Bouterse
At: FOSDEM 2017
When things go wrong in production, it can be necessary to troubleshootproblems where they occur, instead of in a development environment. In thosesituations having a working knowledge of GDB, GDB Python Extensions, andstrace is very helpful. You will see some simple techniques to get insightinto those situations. This talk outlines several techniques for connecting toan already running, "stuck", or deadlocked Python process using GDB fordebugging.
During the talk, we will:
* inspect the current state of threads with * use and demo the GDB macros for Python * inspect a locally running process and a core dump collected from a remote machine * use strace to gather system call information about a process * discuss the SIGTRAP handler as a proactive way to make rpdb available in production.
I have had to debug several hard-to-find bugs that were very infrequentdeadlocks using Python. Furthermore it was happening on remote machines Icould not have network access to. This technique was invaluable in thosesituations.
Everything is in the abstract
Room: UD2.120 (Chavanne)
Scheduled start: 2017-02-05 12:30:00
At: FOSDEM 2017
When things go wrong in production, it can be necessary to troubleshootproblems where they occur, instead of in a development environment. In thosesituations having a working knowledge of GDB, GDB Python Extensions, andstrace is very helpful. You will see some simple techniques to get insightinto those situations. This talk outlines several techniques for connecting toan already running, "stuck", or deadlocked Python process using GDB fordebugging.
During the talk, we will:
* inspect the current state of threads with * use and demo the GDB macros for Python * inspect a locally running process and a core dump collected from a remote machine * use strace to gather system call information about a process * discuss the SIGTRAP handler as a proactive way to make rpdb available in production.
I have had to debug several hard-to-find bugs that were very infrequentdeadlocks using Python. Furthermore it was happening on remote machines Icould not have network access to. This technique was invaluable in thosesituations.
Everything is in the abstract
Room: UD2.120 (Chavanne)
Scheduled start: 2017-02-05 12:30:00
Debugging Hung Python Processes with GDB
Debugging Hung Python Processes With GDB by John Schwarz
Debugging Hung Python Processes with GDB
FOSDEM 2017 - Debugging Hung Python Processes with GDB.mp4
getting a python stacktrace from gdb! (intermediate - advanced) anthony explains #410
debugging python segfaults with gdb (intermediate - advanced) anthony explains #208
Liran Haimovitch - Understanding Python’s Debugging Internals - PyCon 2019
How do I dump an entire Python process for later debugging inspection
CppCon 2018: Jeff Trull “Liberating the Debugging Experience with the GDB Python API”
Video #4: Debugging Python with VS Code
PYTHON : How do I dump an entire Python process for later debugging inspection?
C++Now 2018: Jeff Trull “Improving Debuggability with GDB's Python API”
Debugging some Python Code
Debugging asynchronous programs in Python - presented by Andrii Soldatenko
Polymorphic - Dynamic debugging using Python & GDB | ImaginaryCTF 2022 | Reverse engineering
R0 DAY1-03 Programmatic Debugging with GDB and Python - Scott Tsai (PyCon APAC 2015)
Get stacktrace from stuck python process that does not accept signals
Debugging Python in Production with PyStack - Talk Python to Me Ep.419
GDB is REALLY easy! Find Bugs in Your Code with Only A Few Commands
Fixing the Process Isn't Defined Error in Your Python Code
Як з допомогою GNU GDB дебагера з'ясувати чому ваш Python процес завис...
Python 3 - Episode 54 - Communicating with processes
Extending GDB with Python - Lisa Roach
Process Monitor 101
Комментарии