python - 调试 Python 崩溃

标签 python linux debugging gdb

我在 Linux 服务器上从源代码构建 Python 2.6 4,在运行测试(进行测试)(test_hashlib.py 和 test_hmac.py)时遇到段错误。当我在 gdb 中打开核心转储文件时,我被告知错误位于 ?? 中的 0x00002b73379ac446。然后我重新编译了 python,同时将我的 CFLAGS 和 CPPFLAGS 设置为 -g 以启用调试符号并重新运行失败的测试。当我在 gdb 中打开核心转储文件时,我得到了与启用调试符号之前相同的无用内容。然后我尝试在 gdb 中运行 python,但结果相同。

这是我用来构建和安装 Python 的脚本 (install-python.sh):

#!/bin/sh

VER=2.6.4

wget http://www.python.org/ftp/python/${VER}/Python-${VER}.tar.bz2
tar -xjf Python-${VER}.tar.bz2
cd Python-${VER}
export CFLAGS="-g"
export CPPFLAGS="${CFLAGS}"
./configure --prefix=${HOME}/packages/python --exec-prefix=${HOME}/packages/python
make && make test
make install
cd ..
#rm -rf Python-${VER}*

有谁知道如何从我手工编写的 Python 中获取可用的回溯?

最佳答案

通常您需要在调用 ./configure 之前设置 CFLAGS - 它通常用于将 CFLAGS 值烘焙到 生成文件

关于python - 调试 Python 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376029/

相关文章:

c - Ruby、ffi 和自定义 C 库

.net - 当变量在 .NET 中获得特定值时,我可以设置断点吗?

javascript - 软件故障注入(inject)的真正用途是什么?

android - 为什么我在 Android Studio 中的 LLDB 调试器会跳过所有断点?

python - 对子文档 python Bottle 进行排序

c++ - dlclose 无法关闭共享库

python - 无法使用请求模块登录网站

linux - 打开终端窗口并在其中执行自定义命令?

python - 从数据框中提取特征并将其转换为其他数据框?

python - Python 中的离散拉普拉斯算子(等效于 del2)