1

我正在尝试使用 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

这太烦人了,因为我必须输入的名字太长了。

我想输入“在Engine.main中停止”,就像源和类在项目根目录中一样。

我试图将类路径从 ./build/classes 更改为 ./build/classes/com/ionsoft/engine 但如果我这样做了,则找不到 Engine.class。

Error: Could not find or load main class com.ionsoft.engine.Engine

有人有什么想法吗?

更新:在我当前的类路径中,我指的是罐子而不是类。

感谢您的时间。

4

1 回答 1

1

我发现了一些关于这个主题的有用信息。

我有三个选择:

  1. 使用 .jdbrc 文件,如下所示:

    monitor list
    stop in com.ionsoft.engine.Engine.main
    

    不幸的是,这是一种解决方法。我可以在这里设置我所有的断点和自定义配置。

  2. 使用 Java 调试接口 (JDI) 对我的自定义“调试器”进行编程。

    有用信息:这里

  3. 忍受这个负担。(正如 isnot2bad 所说)

我想我更喜欢第二种选择,但同时我会结合使用第一种和第三种选择。

于 2013-11-11T07:10:44.183 回答