如何在PyCharm中调试从终端运行的代码?
在PyCharm终端运行代码时调试并设置断点的方案
嘿,当然可以实现!PyCharm给我们提供了几种实用的方式,让你在终端运行代码的同时轻松进行调试、触发断点,我给你详细拆解下:
方法一:用PyCharm调试器启动终端运行(最常用)
这种方式是让PyCharm直接关联调试器来运行你的脚本,终端会作为输出载体,断点会正常触发:
- 先在你的代码里设置断点:点击目标代码行号旁边的空白区域,出现红色圆点就表示断点设置成功了
- 打开顶部菜单栏的
Run > Edit Configurations,点击左上角的+号,选择Python配置 - 在配置面板里,指定你的脚本路径(Script path),如果需要传入参数可以在
Parameters里填写 - 配置完成后,点击工具栏上的绿色调试按钮(虫子图标),PyCharm会自动打开一个终端窗口运行你的脚本,当代码执行到断点处时就会自动暂停,你可以在底部的调试面板里查看变量、单步执行、评估表达式等
方法二:给已在终端运行的脚本附着调试器
如果你已经在PyCharm的内置终端里用python your_script.py启动了脚本,想要中途开启调试:
- 确保你的代码里已经设置好断点
- 点击顶部菜单栏的
Run > Attach to Process,或者直接点击右上角的Attach按钮(长得像个插头的图标) - 在弹出的进程列表里,找到你刚才启动的Python进程(通常会显示脚本名称),选中后点击
Attach - 调试器附着成功后,接下来代码执行到断点位置时就会触发暂停,你就能进行调试操作了
一些注意事项
- 不要用
python -O your_script.py运行脚本:-O是优化模式,会忽略所有断点,导致调试失效 - 确保脚本在PyCharm的项目目录下:如果脚本不在当前项目环境里,PyCharm可能无法识别断点
- 调试时尽量避免使用虚拟环境外的Python解释器:如果终端用的是系统全局Python,而PyCharm用的是虚拟环境解释器,可能会出现断点不触发的情况,尽量保持一致
内容的提问来源于stack exchange,提问作者MarziehSepehr




