调试时jdb烦人的包名

时间:2013-11-10 14:04:33

标签: java debugging jdb

我正在尝试使用jdb调试我的应用程序。到目前为止,我已经获得了许多东西,但我想对它们进行修饰。

当我在jdb中并且我想插入断点或检查变量时,jdb需要整个名称package.class。(方法/变量)。这是一个例子:

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

任何人都有一些想法?

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

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

我找到了一些有关此主题的有用信息。

我有三个选择:

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

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

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

  2. 使用Java调试接口(JDI)编写自定义“调试器”。

    有用信息:here

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

  4. 我认为我更喜欢第二种选择,但同时我将使用第一种和第三种选择的组合。