0

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

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

这很奇怪。

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

或者你有什么建议吗?

4

2 回答 2

1

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

这里有一个例子:调用从 ctypes 中的其他函数作为指针返回的函数

于 2012-11-08T10:12:23.153 回答
0

我认为这个答案更好:

在 gdb 中运行 python

总之,只需运行以下命令:

gdb python

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

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

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

于 2012-11-08T13:19:51.873 回答