debug面板
左侧从上到下:
return:重新debug。
resume program:跳转到下一个断点处。
stop:停止运行程序。
view breakpoints:查看所有的断点。
mute breakpoints:取消断点。
上侧从左到右:
show execution point:回到当前执行的栈顶方法。
step over:如果这个语句没有函数或这个语句中的函数内部没有断点,则不进入该语句执行到下一句(该语句中的函数会运行只是不进去看);否则会进入到该语句中的函数内部第一个断点处。
step into:单步执行语句,遇到函数(无论是自己写的函数还是库函数)则会进入。
step into my code:单步执行语句,遇到自己的函数则会进入,库函数则不会进入。
step out:跳出栈顶的方法。可以看到左侧列表为方法栈,先进的方法在栈底,后进的方法在栈顶,跳出则跳出栈顶的方法。注:step out每次返回到前一层,都是必须先把当前层所有代码运行完。
run to curor:跳转到下一个断点处。
案例一
我想知道A模块运行时何时会调用B模块中的C方法。
答:
将B模块中C方法打断点,然后在A模块中,以step over调试。
案例二
我想让A模块中的B循环方法运行一次后跳到循环结束的语句。
答:
循环开始和循环结束后的语句打断点,用step over/step into循环一次回到循环开始的地方时,用run to curor/step out运行完,跳转。 注:不要在循环内打断点。