2011-07-24 118 views
4

有没有一个很好的命令行调试器的Java?命令行Java调试器

我给JDB一个机会,但命令行界面很糟糕。如果我想改变最后一行并重新执行它,我必须重新输入整行。 [UP-ARROW]的命中只会让我“^ [[A]”。也没有包/类/方法名称的完成。

GDB是一个很好的选择,但我不知道如何远程调试它。

我有一个Maven/Vim安装程序,并希望为java使用控制台调试程序,是否有可能在此设置中集成GDB或另一个好的调试程序?

问候斯文

+0

命令行的开发很酷!但我认为使用IDE作为Eclipse或IntelliJ IDEA可以为你提供那些刚刚开箱的东西:) –

+0

我到目前为止还没有听说过eclim服务器,它看起来像一个有趣的项目...我想你正在使用这是因为你对以前的vim有丰富的经验......但是......你为什么不直接在vim快捷方式中使用Eclipse?我之前使用过emacs,但现在我更喜欢随时使用带有emacs快捷键的IDE。顺便说一下......如果你之前没有尝试过,我会推荐你​​使用IntelliJ IDEA ......我也使用过Netbeans和Eclipse ......但IDEA如果是最好的......但它不是' t免费,至少是最终版本(工程)。 –

+0

我有时会在eclipse中使用vim编辑器(http://eclim.org/ senario 3),但eclipse已经结束了我的功能,因为每个功能都可以在vim中使用一个插件,所以我又回到了旧版本的vim 。这引发了关于命令行调试器的问题。 – SvenK

回答

-3

在这里,你可以得到所有的command-line debuggers名单。

而且,不完全是一个调试器,但绝对是一个命令行界面的Java是 可以帮助你调试:

+0

您的意思是将Jython作为一个Java脚本接口,我不知道,在代码中写入一些日志记录指令会不会更容易? – SvenK

+5

-1:在那个链接上正好有零个命令行调试程序.... –

+1

是的,那里没有命令行调试程序。 -1。 – user443854

6

虽然我还没有找到一个很好的替代jdb然而,我开始使用rlwrap在readline中包装jdb。这样,我可以像bash一样获得历史和全线编辑功能。可悲的是没有完成,但rlwrap支持可插拔完成,所以有人可以写一个!

+0

[rlwrap-jdb](https://github.com/pimlott/rlwrap-jdb)使用rlwrap钩子提供了tab-complete和一些有用的命令别名,以及不可或缺的readline行为。请注意,你可能会从命令行运行'rlwrap-jdb jdb -classpath my.jar ...'。 – user3780389

3

'rlwrap'的提示很棒!

我现在使用rlwrap -f . -f tags -e "" jdb <java> <args>,它基于历史和标记文件(使用ctags --recurse创建)进行自动完成,这非常有用。 详情请参考man rlwrap