首页 > 解决方案 > 如何处理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

标签: python-3.xmultithreadingsocketsclient-serverpyodbc

解决方案


好吧,我什至不知道分段错误是可能的,分段错误意味着您在内存中走得太远到未映射的地方。您应该注意最初发生问题的行并检查这些行。


推荐阅读