在Python ctypes中调试C程序

时间:2012-11-08 10:08:03

标签: c++ python c

我使用C ++和C开发了一个库;并且我的C ++测试程序正常运行;但是当使用 c_types在Python中使用库时,它给了我一个分段错误。

另外,当我使用c_types或C ++测试程序时,我的库在64位操作系统下工作正常,当我切换到32位操作系统时它会崩溃。我的C ++测试程序在32位操作系统上运行良好。

这很奇怪。

任何人都知道如何一起调试 Python c_types库

或者你有什么建议吗?

2 个答案:

答案 0 :(得分:1)

正确的方法是使用gdb启动pdb

此处的示例:calling functions returned as pointers from other functions in ctypes

答案 1 :(得分:0)

我认为这个答案更好:

runing python in gdb

在摘要中,只需运行以下命令:

gdb python

//after gdb is running, type the following command
run test_case.py *arguments_of_your_script*

gdb会在python c_types 库中发现分段错误时停止。

之后,只需运行common gdb命令来检查内存和寄存器。