使用gdb调试通过ctypes加载的库
我在Python中加载了一个C语言的库,叫做X.so,这个库是我用一些特定的编译选项编译出来的。
GDBFLAGS = -gdwarf-2 -g3 -O0 -ggdb
然后我通过ctypes这个工具从Python中调用了它的一些非静态函数。
我想调试这个C库X.so。有些函数在运行时会偶尔崩溃,不是每次都崩溃,我想用gdb来监控它的执行情况。
我使用的是linux-gnu系统。请问我该如何调试ctypes呢?
1 个回答
6
使用“gdb python”来调试你的程序,然后像往常一样运行它。当程序崩溃时,照常进行调试。
顺便说一下,我建议你只使用“-g3”。不要使用“-gdwarf-2”,因为现在这样做是不对的——DWARF 2其实已经很老了,现在的默认设置是更新的。