PyCharm: 如何逐行调试?
我正在使用PyCharm(社区版)作为我的Python开发环境。我希望程序能够逐行调试,也就是说我不想为每一行都设置一个断点……有没有什么方法可以实现这个呢?
4 个回答
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
;这样,只有当这一行代码被执行并且条件满足时,断点才会触发。当你在调试递归函数中的代码问题时,这个功能可以大大简化你的工作。
我知道最后这一部分并不是你问的重点,但随着你的代码越来越复杂,逐行查看会变得非常耗时。对于大型项目,你可能更想关注单元测试和日志记录等方面。