使用jdb在java中进行调试:"错误:无法找到或加载主类"

时间:2016-02-03 09:59:51

标签: java jdb

这是我在java中的第一个项目,我想将jdb作为调试工具,但我遇到了一些问题。你能帮帮我吗?

带有" main"的文件功能是" Frame.java"。我在同一个库中也有很多其他.java文件,它们都是同一个包的一部分。

要编译我使用:

javac -d classes/ -cp classes/ *.java

所以我的.class文件位于目录classes / packagename /

要执行我使用的程序:

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

错误消息表示"错误:无法找到或加载主类框架"。

我做错了什么?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您还需要向classpath提供jdb。以下命令有效。

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