【发布时间】:2013-11-10 14:04:32
【问题描述】:
我正在尝试使用 jdb 调试我的应用程序。到现在为止我得到了很多东西,但我想把它们擦亮。
当我在 jdb 中并且想插入断点或检查变量时,jdb 需要全名 package.class.(method/variable)。这是一个例子:
Initializing jdb ...
>
VM Started: No frames on the current call stack
main[1] stop in com.ionsoft.engine.Engine.main
这太烦人了,因为我必须输入的名字太长了。
我想输入“stop in Engine.main”,就像源和类在项目根目录中一样。
我尝试将类路径从 ./build/classes 更改为 ./build/classes/com/ionsoft/engine,但如果这样做,找不到 Engine.class。
Error: Could not find or load main class com.ionsoft.engine.Engine
有人知道吗?
更新:在我当前的类路径中,我指向的是罐子而不是类。
感谢您的宝贵时间。
【问题讨论】:
-
可能有点跑题了,但你为什么不使用像 Eclipse、Intellij、Netbeans 等这样的 IDE?
-
我更喜欢使用 jdb,因为通常我在没有 X 的环境中工作,而且我认为仅为调试器安装 IDE 有点过头了。
-
当您说您“在没有 X 的环境中工作”时,您的意思是服务器,对吧?在你的桌面上,你肯定有 X 或 Windows 或 Mac OS X 吗?然后你就可以从你的桌面进行远程调试了。
-
我很欣赏使用 Eclipse/IDE 的建议,但我曾经使用 vim 和 gdb 进行编程。我之前使用 Eclipse 或 Netbeans 进行过调试,但使用这种调试器我的性能更好,因为它们让我只专注于一件事。 (我想这是一种旧的工作方式)。
-
那么我认为你将不得不忍受这个负担。 jdb stop 需要一个完全限定的类名,并且没有解决方法(编译后 fqn 不可更改)。