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

2015-06-09 17:24:24 +08:00
 love
线上的程序随机打印一句segment fault就死翘了,没有栈信息。
代码太复杂很难一块块定位,有什么办法知道是哪个语句的问题吗?

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

@ca1n 你是哪个模块有问题,是带C模块吗?
ca1n
2015-06-10 16:48:39 +08:00
@love 具体忘了哪个模块了 某个上层http模块应该是 你更新一下系统试试
startover
2015-06-13 11:06:42 +08:00
你这个问题,用oneapm(国内)或newrelic(国外)应该就很好定位
xiazi
2015-06-16 13:54:29 +08:00
ctypes可能会segfault, 你为什么不在debugger下运行python
hayao650
2015-06-25 17:11:59 +08:00
应该会有core文件吧,dbx core可以查看哪里出问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/197267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX