我使用 C++ 和 C 开发了一个库;并且该库与我的 C++ 测试程序运行良好;但是当使用c_types 在 Python 中使用该库时,它给了我一个分段错误。
此外,当我使用 c_types 或 C++ 测试程序时,我的库在 64 位操作系统下工作正常,当我切换到 32 位操作系统时它会崩溃。我的 C++ 测试程序在 32 位操作系统上运行良好。
这很奇怪。
任何人都知道如何一起调试Python和c_types 库?
或者你有什么建议吗?
这里有一个例子:调用从 ctypes 中的其他函数作为指针返回的函数
我认为这个答案更好:
总之,只需运行以下命令:
gdb python
//after gdb is running, type the following command
run test_case.py *arguments_of_your_script*
当 gdb 在 python c_types库中发现分段错误时,gdb 将停止。
之后,只需运行通用 gdb 命令来检查内存和寄存器。