zoukankan      html  css  js  c++  java
  • pycharm进行调试[转载]

    转自:https://blog.csdn.net/william_hehe/article/details/80898031

    1.首先设置断点。

    2.Step into(F7):进入

    若函数A内存在子函数a时,会进入子函数a内执行单步调试。

    如下图:

    在第三个函数设置断点,内部有add和sub的子函数,执行到调用时会进入子函数,进入之后会再次返回到调用点。

    3.Step over(F8):单步

    若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行。如下图:

    over就是从表面上过去,执行但不会进入函数。如上图,在#6和#7时不会进入子函数。

    再给一个例子讲解这两个,是比较常用的:

    样例程序
    01    def helloworld():
    02        print 'hello world'
    03    a=1
    04    b=2
    05    c=3
    06    for  i in range(1,3):
    07        print 'i',i
    08    a=1
    09    b=2
    10    c=3
    11    helloworld()
    12    a=1
    13    b=2
    14    c=3

      

    4.step out(shift+F8):

    当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。

     //这里存疑,如果你不执行后续代码直接跳出,那么还能得到函数返回结果吗?可以,试了一下,实际上会接着运行,只不过表面上跳过了。

    def helloworld():
        print("Hello")
        print("World")
        a=5
        b=3
        print(a+b)
    helloworld()

    在函数调用点设置断点,并Step into,然后一次step over,到了print("World")这一句,点击step out,控制台输出:

    Hello
    World
    8

    证明,step out并不是终止被调用函数的执行,而是跳出子函数。

    5.show execution point (F10)  显示当前所有断点 

    6.run to cursor(Alt +F9) 直接跳到下一个断点

    7.Resume Program :试了一下,应该是和跳到下一个断点一样的。

  • 相关阅读:
    vtk体绘制时采样的起点使用噪声纹理来进行扰动
    转:轻松搞死VS
    虚拟华师(UDK)
    虚拟手术中的血流模拟(Physx+OpenGL)
    要找工作了,研究工作得暂停了
    MC+多个emitter成功把撕裂场景基本解决了
    鸭梨很大
    这世界好人多啊
    JS代码的格式化和压缩
    FusionCharts使用实例
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/10179407.html
Copyright © 2011-2022 走看看