PyCharm调试模式下出现exit code -1073741819错误,如何修复?
问题解决:PyCharm调试模式下asyncio事件循环引发的0xC0000005错误
你遇到的Process finished with exit code -1073741819 (0xC0000005)错误,本质是PyCharm 2023.2的调试器与Python旧版事件循环API(get_event_loop().run_until_complete)在Windows环境下的兼容性冲突,结合Gino这类依赖异步数据库驱动的库时更容易触发。以下是具体解决方法:
方案1:替换为asyncio.run()(推荐)
这是最直接有效的方式,你已经验证过替换后可正常运行。asyncio.run()是Python 3.7+官方推荐的异步启动API,会自动创建、管理并销毁事件循环,避免手动操作循环带来的调试器冲突。修改后的代码如下:
# 替换原有的循环启动代码 asyncio.run(main())
方案2:调整PyCharm调试器配置
若必须保留get_event_loop()的写法,可尝试修改调试配置:
- 打开右上角运行按钮旁的下拉菜单,选择Edit Configurations
- 在目标Python配置的Configuration标签页中,勾选Emulate terminal in output console选项
- 保存配置后重新启动调试
方案3:升级依赖库版本
你使用的SQLAlchemy 1.3.24和Gino 1.0.1版本相对老旧,升级到兼容的新版本可能解决底层异步逻辑的兼容问题:
pip install --upgrade sqlalchemy gino
注意:升级后需测试代码兼容性,避免API变更引发其他问题。
错误原因补充
0xC0000005是内存访问冲突错误,此场景下,PyCharm调试器会注入代码监控异步任务,而手动管理事件循环的方式会与调试器的循环监控逻辑产生冲突,最终导致内存访问异常。asyncio.run()的规范循环管理方式能更好地适配调试器逻辑。
内容的提问来源于stack exchange,提问作者Sonel
相关产品推荐
相关产品推荐

