作为一个倾向于CLI的程序员,我想问一下Java命令行调试器JDB是否能够从当前位置运行并停止在给定行?

例如,

200   public Trade create(TradeCreateReq req) {
201        validatePayments(req);
202 =>     Trade t = new Trade(OutBizType.of(req.getOutBizType()), req.getOuterId());
203
204        buildItem
205            .andThen(buildBuyer)
206            .andThen(buildToAddress)
207            .andThen(buildInvoice)
208            .andThen(buildPayTools)
209            .accept(req, t);
210
211        if (!t.isSecured())
212            t.setSecured(true);
213
214        return t;
215    }


我想使用单个jdb命令前进到211行,而不是键入7个“ next”命令或在211处设置断点。粗略地看一下“ step”,“ next”,“ cont”并不能给我回答。

我知道Perl CLI调试器可以通过'c'命令很好地完成这项工作。

谢谢!

最佳答案

“运行至光标”只是由以下命令组成的高级调试命令:


设置断点(在file:line处停止)
继续
明确的断点


看到没有禁用断点或达到计数时间时没有禁用,这些是调试CLI应该合并并保留在内存中的高级调试命令。

有关http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html上可用命令的更多信息

您可以在vim插件上轻松合成这些命令,例如

https://github.com/yuratomo/dbg.vim/blob/master/autoload/dbg/engines/jdb.vim

关于java - jdb在给定的行或方法处停止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34823513/

10-10 10:22