How to debug python script in C level using GDB. Give me a simple example for this.My primary goal is to get the trace of libc function called from my python script.
How to debug python script in C level using GDB. Give me a simple example for this
Asked Answered
See the thing is for binary(.so) files, you surely cannot apply breakpoint to a particular line, but surely you can apply breakpoint to a function. Say using
(gdb) b func_name
you can easily apply breakpoint to a function and thereby obtain the backtrace whenever the breakpoint is found. First run your python sc
Start gdb:
gdb -ex r --args python demo.py
Apply breakpoint:
(gdb) b func_name
Run:
(gdb) run
This should work for your case.
So where would this look for function "func_name". I need to know this. This would play a crucial role in my case. –
Woodsum
You can always Python using gdb and set breakpoints as you like
gdb -ex r --args python script.py args
If you want to look what happens in Python while running Python script I suggest to use mixed mode
gdb -ex r --args python -m pdb script.py
This way, you can break in pdb, then press Ctrl-C
and end up inside gdb. Then, bt
will give you stack trace inside Python.
So where to add breakpoints in such a case? say for a c file abc.c, I add "b abc.c:10"... but for the python file, I cannot add the breakpoint directly to python as far as my understanding goes. The c files used here would be the binary(.so) files... how to add breakpoint to them now? –
Woodsum
You also need: python-debuginfo package –
Siphonostele
© 2022 - 2024 — McMap. All rights reserved.
ctypes
or trying to do a low-level hack... And that you've got the debug version of Python. – Filoseb <libc function name>
. – Tramel