Spyder 3.6调试求助:无法实现Python代码逐行步进
在Spyder 3.6中实现逐行步进调试的正确操作
别担心,Spyder完全支持逐行步进调试,大概率是你没走对调试的启动流程——毕竟不同IDE的调试逻辑确实有点不一样,习惯了VBA/.NET的方式需要调整下~
先给你理清楚正确的步骤,再对照你的操作看看哪里出问题:
正确的调试流程
- 设置断点:在你想暂停的代码行号左侧点击,出现红色圆点就说明断点设置成功了(这步你应该已经做对了)。
- 启动调试会话:这是关键!你之前选中代码按
Ctrl+F11是在「正常运行模式」下执行选中代码,根本没触发调试。正确的做法是:- 不需要选中任何代码,直接点击工具栏上的绿色小虫图标(Debug按钮),或者按下快捷键
Ctrl+F5启动调试。 - 启动后,程序会自动运行到第一个断点处暂停,此时当前行会被高亮显示。
- 不需要选中任何代码,直接点击工具栏上的绿色小虫图标(Debug按钮),或者按下快捷键
- 逐行步进:暂停后,就可以用这些快捷键实现步进了:
F11:单步进入(会钻进函数内部执行,和你熟悉的VBA/.NET里的逐行步进逻辑一致)F10:单步跳过(跳过函数调用,直接执行下一行)Shift+F11:单步跳出(从当前函数回到调用处)
用代码示例实操一遍
假设你的代码是这样的:
def add_numbers(a, b): temp = a * 2 # 设断点在这里 return temp + b num1 = 10 num2 = 5 result = add_numbers(num1, num2) print(result)
按照上面的流程操作:
- 在
temp = a * 2行设断点,点击Debug按钮启动调试,程序会停在这一行。 - 按下
F11,就会逐行执行temp = a * 2,然后到return temp + b,再回到调用处执行print(result),完全和你想要的效果一致。
额外检查点
如果还是不行,去Tools > Preferences > Run里确认一下「Enable debug」选项是勾选状态,确保Spyder的调试功能没有被禁用。
内容的提问来源于stack exchange,提问作者ASH
相关产品推荐
相关产品推荐

