我正在尝试使用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
任何人都有一些想法?
更新:在我当前的类路径中,我指的是罐子而不是类。
感谢您的时间。
答案 0 :(得分:1)
我找到了一些有关此主题的有用信息。
我有三个选择:
使用.jdbrc文件,如下所示:
monitor list
stop in com.ionsoft.engine.Engine.main
不幸的是,这是一种解决方法。我可以在这里设置所有断点和自定义配置。
使用Java调试接口(JDI)编写自定义“调试器”。
有用信息:here
忍受这种负担。 (正如isnot2bad所说)
我认为我更喜欢第二种选择,但同时我将使用第一种和第三种选择的组合。