PyCharm调试Python服务崩溃报exit code 138(SIGBUS)如何修复
问题现象
在PyCharm调试模式下运行Python服务时程序直接崩溃,控制台返回报错:
Process finished with exit code 138 (interrupted by signal 10: SIGBUS)
当前运行环境配置:
- IDE:PyCharm 2022.1.3 (Community Edition)
- 操作系统:macOS Monterey (Version 12.4)
可行修复方案
该报错是macOS 12系统搭配PyCharm 2022.1版本调试模式的高发兼容问题,本质是调试器触发了非法内存访问,可按以下优先级尝试修复:
- 关闭调试器Cython加速
打开PyCharm设置,依次进入「构建、执行、部署 -> Python调试器」,取消勾选使用Cython扩展进行调试选项,保存配置后重启PyCharm再尝试调试。该版本默认开启的Cython加速调试模块和macOS 12的内存权限机制存在兼容冲突,切换到纯Python实现的调试逻辑后即可规避SIGBUS触发场景,是成功率最高的修复方式。 - 校验第三方依赖的架构匹配性
如果使用Apple Silicon芯片的Mac设备,检查当前Python环境下安装的带C/C++原生扩展的依赖(常见如numpy、pytorch、grpcio、psutil等),如果安装的是x86架构版本、通过Rosetta转译运行,也会触发总线错误。卸载对应依赖后重新安装arm64架构适配版本即可恢复。 - 临时调试绕过
紧急需要调试时可以暂时不用PyCharm内置调试器,直接在终端执行python -m pdb 服务启动入口文件.py,使用Python原生pdb调试器启动服务,不会触发IDE侧的兼容问题。 - 升级PyCharm版本
该版本调试器的SIGBUS兼容问题在PyCharm 2022.2及后续正式版本中已经被官方修复,条件允许时直接升级PyCharm到最新稳定版可以彻底解决该问题。
内容的提问来源于stack exchange,提问作者TechPassionate
相关产品推荐
相关产品推荐

