PyCharm: 如何逐行调试?

16 投票
4 回答
24276 浏览
提问于 2025-04-18 08:59

我正在使用PyCharm(社区版)作为我的Python开发环境。我希望程序能够逐行调试,也就是说我不想为每一行都设置一个断点……有没有什么方法可以实现这个呢?

4 个回答

0

如上所述,你可以使用快捷键,另外你也可以使用调试器的界面:

Pycharm Debugger

上面的蓝色箭头可以让你选择“跳过”、“进入”或“退出”调试步骤。

0

pdb模块在你的程序中只需要两行代码,就可以逐行调试了。

import pdb      # Insert this as the first line of your program

pdb.set_trace() # Insert this once in your program to step through it

# code you want to step into

这个YouTube视频在6分钟内讲解了所有内容。

3

要进入调试模式,点击“虫子”按钮(或者按 Shift + F9)。

逐步跳过 - F8

逐步进入 - F7

逐步跳出 - Shift+F8

跳到下一个断点(或者结束) - F9

14

正如@Cyber提到的,调试快捷键可以让你逐行查看代码,深入到函数调用中等等,只要你在某个地方设置了断点并暂停了程序。

如果你真的想逐行查看代码,可以在代码的最开始设置一个断点。如果你的代码里有一个main()函数,比如:

def main():
    ....    

if __name__ == '__main__':
    main()                  # Breakpoint here, 'Step Inside' to go to next line

那么你可以在调用main()的地方设置断点。(如果没有main()函数,你可以试试这个方法。)

还有一点我想提的是PyCharm中一个容易被忽视的功能——条件断点。如果你在编辑器的边栏区域右键点击断点符号,你可以输入一个条件,比如n > 10;这样,只有当这一行代码被执行并且条件满足时,断点才会触发。当你在调试递归函数中的代码问题时,这个功能可以大大简化你的工作。

我知道最后这一部分并不是你问的重点,但随着你的代码越来越复杂,逐行查看会变得非常耗时。对于大型项目,你可能更想关注单元测试和日志记录等方面。

撰写回答