4

我有无处不在的 HelloWorldApp.java 文件

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

我跑:

javac HelloWorldApp.java

然后我运行:

jdb HelloWorldApp

我得到:

Initializing jdb ...
> 

我输入:

stop at HelloWorldApp.main:7

提示的地方

然后我得到

Deferring breakpoint HelloWorldApp.main:7.
It will be set after the class is loaded.
>

我输入:

run

提示的地方

然后我得到

Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
> 
VM Started: Hello World!

The application exited

我没有在最后一个提示上输入任何内容,它只是退出而没有中断。我的问题是为什么它会输出那些 Throwable 行,为什么调试器没有在我给它的断点处停止?

4

1 回答 1

5

我刚刚在 JDB 文档中检查了 stop 的语法

stop in <class-name>.<method-name>  Stop on entry to the given method.
stop at <class-name>:<line-number>  Stop at the given line.

我认为您的停止命令应该是以下之一

stop in HelloWorldApp.main 
stop at HelloWorldApp:7

试一试,看看能解决你的问题!

于 2015-07-18T18:17:57.987 回答