jdb 在给定的行或方法处停止

jdb stop at given line or method

作为一个喜欢 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' 命令很好地完成这项工作。

谢谢!

"Run to cursor" 只是一个高级调试命令,由以下内容组成:

  • 设置断点(停在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