pycharm断点调试

1. 断点调试

断点调试是程序编写过程中一个非常重要的步骤,对于简单的程序我们是可以使用print语句输出对应的结果结合自己的分析可以比较快速知道程序出现的错误在哪里,但是一旦程序复杂起来之后,比如函数和变量比较多的情况输出相应的变量值也比较难找到程序错误的地方,这个时候使用断点调试能够跟踪程序的运行过程,结合运行过程中相应的变量变化能够比较快地判断出程序大概出现错误的地方,所以学会断点调试是非常重要的,我在leetcode网站上做题的时候对于复杂的程序也是使用断点调试的方法来快速找到错误的地方(比如调试递归程序非常有用),因为最近使用的较多的python语言,下面结合python的编辑器pycharm进行简单的调试说明,对于其他的语言的调试也是类似的,比如在idea中调试Java程序也是类似的

2. 主要有以下几个步骤:

① 添加断点:

我们可以在通过单击代码左侧的空白槽来在对应位置生成断点,我们需要根据自己的需求来打断点,比如我只需要在知道某个函数或者是某个语句变量的值那么只要在这个函数上的第一条语句或者是需要知道变量的值的那一句上打上断点即可,对于pycharm来说可以在某一个函数的语句上打断点(断点打在了def函数的声明上好像进入不了调试的模式),这个自己多试几遍即可知道:

pycharm断点调试

② pycharm需要使用一个main方法来运行调试,我们需要写一个main方法来调用具体的函数并且打上断点才可以进行调试模式:

pycharm断点调试

③ 进入debug模式之后会出现下面的框框,对于一般的程序我们只需弄清楚下方的结果箭头的含义即可

pycharm断点调试

pycharm断点调试

step over:表示执行当前的函数或者语句,不会进入当前函数的具体方法,执行完当前的语句之后直接跳到下一句,比如我在下面的调用函数的语句上打上断点执行Step Over之后不会进入dfs方法而是执行完了dfs方法之后跳到下一句语句中:

pycharm断点调试

step into:如果某行调用其他模块的函数,可以进入函数内部,会跳到调用函数的地方执行

step into my code:与step into是类似的,这个调试的话会进入调试的地方会更细有的时候会进入python本身的库函数执行的地方

step out:返回到上一次的调试的位置

计算表达式:可以复制执行过程中对应的变量然后点击计算表达式即可知道当前的变量的值是多少

在具体的调试过程中,经常使用的是step over与step into,step over可以直接执行完当前的语句或者函数:我们在不需要清楚这个函数怎么样执行的时候step over即可,step into可以根据函数一步步的执行结果有利于跟踪变量的变化情况

在执行的过程中只需要根据自己的需要点击上面的各个箭头(step over,step into...)即可