pycharm中的调试功能使用及说明

作者:

文章目录
  • 按钮图标 名称 快捷键 作用说明 ▶️ Resume F9 继续执行程序,直到下一个断点或结束。 ➡️ Step Over F8 执行当前行代码,​​不进入​​函数或循环内部。 ⬇️ Step Into F7 执行当前行代码,​​进入​​函数内部(比如调试自定义函数时用)。 ⬆️ Step Out Shift+F8 从当前函数内部跳出,回到调用它的位置。 🛑 Stop Ctrl+F2 终止调试进程。
  • ​​定位问题区域​​:通过错误提示或日志缩小范围。 ​​设置断点​​:在可疑代码前后暂停。 ​​逐行跟踪​​:观察变量是否符合预期。 ​​验证修复​​:修改后重复调试直到正确。 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: pycharm调试功能如何实现跳到循环的某一步 在pycharm中调试fastapi应用程序的流程步骤 Pycharm debug调试教程 PyCharm基础调试的教程 Pycharm中SSH、SFTP连接远程服务器编辑调试实例
  • 目录
    • 一、调试前的准备工作​​
      • 1. 准备一段测试代码
      • 2. 为什么需要调试?
    • ​​二、调试核心操作(带截图步骤)​​
      • ​​1. 设置断点(Breakpoint)​​
      • ​​2. 启动调试模式​​
      • ​​3. 调试界面布局​​
    • ​​三、关键调试按钮详解​​
      • ​​四、实际调试流程(以示例代码为例)​​
        • ​​1. 第一次暂停(断点:第3行)​​
        • ​​2. 进入循环(断点:第5行)​​
        • ​​3. 修复代码​​
      • ​​五、调试进阶技巧​​
        • 1. ​​条件断点(Conditional Breakpoint)​​
        • 2. ​​监视表达式(Watches)​​
        • 3. ​​重新运行调试​​
      • ​​六、常见问题排查​​
        • 1. ​​调试时程序没有暂停?​​
        • 2. ​​变量窗口没有显示值?​​
        • 3. ​​如何调试报错行?​​
      • 总结:调试的核心思路​​

        先写一个简单的Python脚本(比如计算阶乘),故意留点问题:

        def factorial(n):
            result = 1
            for i in range(n):
                result *= i
            return result
        
        print(factorial(5))  # 预期输出120,但实际输出0?

        • 当代码运行结果不符合预期时,调试能帮你逐行跟踪代码执行过程。
        • 可以查看变量值的变化,找出逻辑错误。

        • ​作用​​:让程序运行到此处时暂停,方便观察。
        • ​操作​​:在代码行号左侧单击,出现红点。
        • (示例:在第3行result = 1和第5行result *= i设置断点)

        • ​方法1​​:点击右上角的绿色甲虫图标 🐞。
        • ​方法2​​:右键代码 → 选择 Debug '文件名'

        启动调试后,PyCharm 会自动进入调试视图,主要分为:

        • ​① 调试工具栏​​:控制代码执行(步进、恢复等)。
        • ​② 变量窗口(Variables)​​:显示当前作用域内的变量值。
        • ​③ 控制台(Console)​​:显示程序输出和输入。

        按钮图标 名称 快捷键 作用说明
        ▶️ Resume F9 继续执行程序,直到下一个断点或结束。
        ➡️ Step Over F8 执行当前行代码,​​不进入​​函数或循环内部。
        ⬇️ Step Into F7 执行当前行代码,​​进入​​函数内部(比如调试自定义函数时用)。
        ⬆️ Step Out Shift+F8 从当前函数内部跳出,回到调用它的位置。
        🛑 Stop Ctrl+F2 终止调试进程。

        • ​观察变量窗口​​:此时 n=5result=1(正确)。
        • ​点击 Step Over(F8)​​:执行 result = 1

        ​点击 Step Over(F8)多次​​,观察每次循环时 iresult 的变化:

        • ​问题暴露​​:第一次循环时 i=0,导致 result *= 0,结果变为0!
        • ​错误原因​​:range(n) 生成的是 [0,1,2,3,4],应从 1 开始循环。

        修改循环范围:for i in range(1, n+1):

        • ​作用​​:当满足特定条件时暂停。
        • ​设置​​:右键断点 → 输入条件(如 i == 3)。

        • ​作用​​:实时监控某个变量或表达式的值。
        • ​操作​​:在 Watches 窗口点击 + → 输入表达式(如 i * 2)。

        • 修改代码后无需关闭调试,直接点击调试按钮重新启动。

        • 检查是否设置了断点。
        • 确保代码确实执行到了断点位置。

        • 确认程序已暂停在断点处。
        • 检查变量是否在当前作用域内(比如循环内部变量需在循环中查看)。

        • 当程序抛出异常时,PyCharm 会自动跳转到错误行,并显示堆栈信息。

        • ​定位问题区域​​:通过错误提示或日志缩小范围。
        • ​设置断点​​:在可疑代码前后暂停。
        • ​逐行跟踪​​:观察变量是否符合预期。
        • ​验证修复​​:修改后重复调试直到正确。

        以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

        您可能感兴趣的文章:

        • pycharm调试功能如何实现跳到循环的某一步
        • 在pycharm中调试fastapi应用程序的流程步骤
        • Pycharm debug调试教程
        • PyCharm基础调试的教程
        • Pycharm中SSH、SFTP连接远程服务器编辑调试实例

        站内搜索