eclipse 调式 step into/step over/Drop to Frame

Eclipse debug

step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数);

step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into效果一样的(简而言之,越过子函数,但子函数会执行)。

step out:当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。


前些天和同事交流调试技巧时,知道了 Eclipse debug 时有个 drop to frame 的技巧。这是我以前不知道的,自己又查了一下这个功能的含义。官方的解释是:

Select the Drop to Frame command [ Drop to Frame ] to re-enter the selected stack frame in the Debug View.

Note this command is only available if the current VM supports drop to frame and the selected stackframe is not the top frame or a frame in a native method.

就是说,这个功能可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法, 可以点击当前调用栈中的任何一个frame跳到那里( 除了最开始的那个frame)。 主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一 遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试( 结合改变变量值等其它功能),而不用重来一遍调试到哪里了。 当然,原来执行过程中产生的副作用是不可逆的( 比如你往数据库中插入了一条记录)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值