Python 调用gdb_init时出现分段错误
我已经为gdb编写了一个包装程序,首先它将调用gdb_init,在这里它检查python版本,该版本由于分段错误而失败 我的机器是64位linux机器,我们需要32位gdb及其相关软件包。考虑到我已经放置了python和python-devel 32位软件包。除此之外,所有代码都是用-m32编译的 这是我要买的stackbackPython 调用gdb_init时出现分段错误,python,gdb,Python,Gdb,我已经为gdb编写了一个包装程序,首先它将调用gdb_init,在这里它检查python版本,该版本由于分段错误而失败 我的机器是64位linux机器,我们需要32位gdb及其相关软件包。考虑到我已经放置了python和python-devel 32位软件包。除此之外,所有代码都是用-m32编译的 这是我要买的stackback Starting program: test proc1 1.rxt [Thread debugging using libthread_db enabled] pro
Starting program: test proc1 1.rxt
[Thread debugging using libthread_db enabled]
program received signal SIGSEGV, Segmentation fault.
0x083203e6 in lbasename ()
(gdb) bt
#0 0x083203e6 in lbasename ()
#1 0x08202705 in ldirname ()
#2 0x080df54a in _initialize_python ()
#3 0x081fefef in gdb_init ()
#4 0x080909cf in init_libgdb (symfile=0xffffcef8 "proc1", outfile=0xffffcefe "1.txt") at ../gdbinterface.c:785
#5 0x08090d0b in main (argc=5, argv=0xffffcc74) at ../test.cpp:79
非常感谢您的帮助。您必须在启动时设置python_libdir
如果你想拥有自己的驱动程序,你只需要深入了解细节。gdb内部不支持这样做。请向我们展示您的测试。cppTom添加了test.cppTom的片段,感谢您的回复,您能告诉我如何为gdb设置python_libdir吗?我认为您应该查看gdb源代码,看看它在做什么。你是在DIY领域。
Starting program: test proc1 1.rxt
[Thread debugging using libthread_db enabled]
program received signal SIGSEGV, Segmentation fault.
0x083203e6 in lbasename ()
(gdb) bt
#0 0x083203e6 in lbasename ()
#1 0x08202705 in ldirname ()
#2 0x080df54a in _initialize_python ()
#3 0x081fefef in gdb_init ()
#4 0x080909cf in init_libgdb (symfile=0xffffcef8 "proc1", outfile=0xffffcefe "1.txt") at ../gdbinterface.c:785
#5 0x08090d0b in main (argc=5, argv=0xffffcc74) at ../test.cpp:79