这是我的第一个Java项目,我想让我们jdb作为调试工具,但我遇到了一些问题。你能帮我吗?
具有"main"功能的文件是"Frame.java"。我在同一剧目中还有很多其他.java文件,它们都是同一个包的一部分。
要编译,我使用:
javac -d classes/ -cp classes/ *.java
所以我的.class文件在目录类/包名/
要执行程序,我使用:
java -cp classes/ packagename.Frame
我不确定这是否是最好的方法,但它一直在为我现在想做的一切工作。
为了调试,这是我尝试的许多命令中的两个的输出:
$ jdb Frame
Initializing jdb ...
> stop in Frame.main
Deferring breakpoint Frame.main.
It will be set after the class is loaded.
> run
run Frame
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: Erreur : impossible de trouver ou charger la classe principale Frame
The application exited
第二个:
$ jdb -launch Frame
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
Initializing jdb ...
>
VM Started: No frames on the current call stack
main[1] next
> Erreur : impossible de trouver ou charger la classe principale Frame
The application exited
错误消息表示"错误:无法找到或加载主类帧"。
我做错了什么?
提前谢谢你。
您
还需要向jdb
提供classpath
。以下命令有效。
jdb -classpath classes1 packagename.mainclass
$ jdb -classpath classes1 packagename.mainclass
Initializing jdb ...
> run
run packagename.mainclass
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: Hello//...........
The application exited