PyCharm:逐行调试?

问题描述 投票:0回答:5

我的 Python IDE 使用 PyCharm(社区版本)。我希望程序以逐行的方式进行调试。所以我不想将每一行设置为断点...有没有办法可以做到这一点?

python pycharm
5个回答
15
投票

正如 @Cyber 提到的,一旦遇到断点并停在某处,调试热键将让您逐行单步执行,逐步进入函数调用等。

如果您确实想单步执行每一行,您可以在代码的最开头的某个位置设置一个断点。如果您在代码中使用 main() 函数,例如:

def main():
    ....    

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

然后您可以在调用时设置断点到

main()
。 (如果你不是,你可能想尝试这种方法。)

我要指出的另一件事是 PyCharm 易于忽视的“条件断点”功能。如果右键单击编辑器装订线区域中的断点符号,则可以输入条件,例如 n > 10;仅当执行该行并且满足条件时才会触发断点。例如,当您尝试调试递归函数中的代码问题时,这可以大大简化事情。


我知道最后一部分并不是您真正想要的,但是随着您的代码库变得越来越大,浏览每一行可能会非常耗时。您可能希望更多地关注大型项目的单元测试和日志记录等事情。


4
投票
Shift + F9

)。


跨过去 -

F8


走进 -

F7


走出去 -

Shift+F8


步进到下一个断点(或结束) -

F9

    


1
投票

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 分钟内解释了一切。


0
投票

Pycharm Debugger 顶部的蓝色箭头允许您跨过、跨入或跨出。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.