【问题】Python|Python Segmentation fault(core dump) 调试办法

shandianchengzi
全栈领域新星创作者
博客专家认证
2024-11-07 20:06:22

文章收录:【Q&A】Python代码调试之解决Segmentation fault (core dumped)问题_python segmentation fault (core dumped)-CSDN博客

定位错误行

(1) 在代码中写入faulthandler

import faulthandler
# 在import之后直接添加以下启用代码即可
faulthandler.enable()
# 后边正常写你的代码

(2)直接通过命令行来启用,运行时添加-X faulthandler参数即可:

python -X faulthandler your_script.py

进入C语言(so文件)之类的,用gdb调试

gdb python
(gdb) run /path/to/your_script.py
## wait for segfault ##
(gdb) backtrace
## stack trace of the py code,简写为 bt

追踪产生segmenttation fault的位置及代码函数调用情况:

gdb>bt

    这样,一般就可以看到出错的代码是哪一句了,还可以打印出相应变量的数值,进行进一步分析。另外需要注意的是,如果机器上跑很多的应用,生成的core又不知道是哪个应用产生的,可以退出gdb之后通过下列命令进行查看:file core

    ...全文
    197 回复 打赏 收藏 转发到动态 举报
    AI 作业
    写回复
    用AI写文章
    回复
    切换为时间正序
    请发表友善的回复…
    发表回复

    4

    社区成员

    发帖
    与我相关
    我的任务
    社区描述
    在这里,记录我认为写得有最帮助的推文~~~ 同类型的推文只选我看过的最棒的!欢迎大家用自己更棒的推文替换它!
    物联网系统安全python 个人社区 湖北省·武汉市
    社区管理员
    • shandianchengzi
    加入社区
    • 近7日
    • 近30日
    • 至今
    社区公告
    暂无公告

    试试用AI创作助手写篇文章吧