Debugging in java with jdb : "Error: impossible to find or load the main class"
Debugging in java with jdb : "Error: impossible to find or load the main class"
这是我在 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
错误信息的意思是"Error: impossible to find or load the main class Frame".
我做错了什么?
提前致谢。
您还需要提供 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
这是我在 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
错误信息的意思是"Error: impossible to find or load the main class Frame".
我做错了什么?
提前致谢。
您还需要提供 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