python-3.x - 如何处理python中发生的分段错误
问题描述
我已经编写了一段代码来检查系统中是否存在数据库中的新条目,如果找到新条目,它将获取数据并且客户端将尝试将其发送到服务器......但是如果数据在每次执行 threading.timer 循环中不断发现它会尝试将其发送到服务器...
现在的问题是如果服务器无法访问,那么它将打印该服务器不活动等。如果这个循环持续几分钟,脚本就会崩溃并显示分段错误......我想处理这个异常并想要处理一些如果发生分段错误
工作环境:linux python3 sql-server
编辑
这是脚本崩溃后显示的内容...
Fatal Python error: Segmentation fault
Thread 0xb3dff460 (most recent call first):
File "/usr/lib/python3.4/threading.py", line 294 in wait File "/usr/lib/python3.4/threading.py", line 553 in wait File "/usr/lib/python3.4/threading.py", line 1184 in run File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Current thread 0xb33ff460 (most recent call first):
File "abc.py", line 343 in send_to_server
File "abc.py", line 244 in sql_connect1
File "/usr/lib/python3.4/threading.py", line 1186 in run
File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Thread 0xb45ff460 (most recent call first):
File "abc.py", line 408 in send_to_server
File "abc.py", line 244 in sql_connect1
File "/usr/lib/python3.4/threading.py", line 1186 in run
File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Thread 0xb4fff460 (most recent call first):
File "abc.py", line 343 in send_to_server
File "abc.py", line 244 in sql_connect1
File "/usr/lib/python3.4/threading.py", line 1186 in run
File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Thread 0xb6f39300 (most recent call first):
File "/usr/lib/python3.4/threading.py", line 1076 in _wait_for_tstate_lock
File "/usr/lib/python3.4/threading.py", line 1060 in join
File "/usr/lib/python3.4/threading.py", line 1294 in _shutdown
Segmentation fault
解决方案
好吧,我什至不知道分段错误是可能的,分段错误意味着您在内存中走得太远到未映射的地方。您应该注意最初发生问题的行并检查这些行。
推荐阅读
- kubernetes - 同一应用程序的多个服务:kubernetes 中的端口
- youtube - 视频所有者已禁用在其他网站上的播放(但不是)
- javascript - 为什么我的 Firestore/Firebase 添加文档功能在生产中工作,而不是本地机器?
- jquery - 如何在某些函数中获取数据表加载时带有逗号分隔值的列列表
- php - 如何在codeigniter中修复网站的url?
- google-maps - 在 Xamarin 表单中动态设置 Google Maps API 密钥
- ansible - 如何在剧本中执行多个任务时将每个输出存储在文件中?
- amazon-web-services - 如何强制 aws-cli 或 terraform 删除 OpsWorks?
- javascript - 用 d3 / svg 画一个曲折的圆
- java - 获取 HTML 的编译和安装时间长