V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
love
V2EX  ›  Python

python 程序随机 segment fault 有什么方法知道是哪个模块抛的吗?

  •  
  •   love · 2015-06-09 17:24:24 +08:00 · 3000 次点击
    这是一个创建于 3462 天前的主题,其中的信息可能已经有所发展或是发生改变。
    线上的程序随机打印一句segment fault就死翘了,没有栈信息。
    代码太复杂很难一块块定位,有什么办法知道是哪个语句的问题吗?

    我估计是lxml或pillow其中一个,因为只有这二个用了原生代码。
    8 条回复    2015-06-25 17:11:59 +08:00
    skydiver
        1
    skydiver  
       2015-06-09 17:37:01 +08:00   ❤️ 1
    看吐的core dump呗……
    jokester
        2
    jokester  
       2015-06-09 19:51:20 +08:00   ❤️ 1
    segfault的地方(時間和代碼位置)可能和native lib差非常遠
    有條件的話隔離開做壓力測試吧..
    ca1n
        3
    ca1n  
       2015-06-10 01:45:26 +08:00
    core dump....不过超级麻烦 也可以单步调试 有次我也是出segement fault 更新了一下第三方模块就好了
    love
        4
    love  
    OP
       2015-06-10 13:42:43 +08:00
    我去。。。lxml和pillow的嫌疑都被排除了,纯py都会segfault,怀疑是系统问题了。

    @ca1n 你是哪个模块有问题,是带C模块吗?
    ca1n
        5
    ca1n  
       2015-06-10 16:48:39 +08:00
    @love 具体忘了哪个模块了 某个上层http模块应该是 你更新一下系统试试
    startover
        6
    startover  
       2015-06-13 11:06:42 +08:00
    你这个问题,用oneapm(国内)或newrelic(国外)应该就很好定位
    xiazi
        7
    xiazi  
       2015-06-16 13:54:29 +08:00
    ctypes可能会segfault, 你为什么不在debugger下运行python
    hayao650
        8
    hayao650  
       2015-06-25 17:11:59 +08:00
    应该会有core文件吧,dbx core可以查看哪里出问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2578 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 03:16 · PVG 11:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.