Java Debugger运行应用程序而不会中断

mpd*_*son 4 java debugging command-line jdb throwable

我有无处不在的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!");
    }
}
Run Code Online (Sandbox Code Playgroud)

我跑:

javac HelloWorldApp.java
Run Code Online (Sandbox Code Playgroud)

然后我跑:

jdb HelloWorldApp
Run Code Online (Sandbox Code Playgroud)

我明白了:

Initializing jdb ...
> 
Run Code Online (Sandbox Code Playgroud)

我键入:

stop at HelloWorldApp.main:7
Run Code Online (Sandbox Code Playgroud)

在哪里提示

然后我明白了

Deferring breakpoint HelloWorldApp.main:7.
It will be set after the class is loaded.
>
Run Code Online (Sandbox Code Playgroud)

我键入:

run
Run Code Online (Sandbox Code Playgroud)

在哪里提示

然后我明白了

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

The application exited
Run Code Online (Sandbox Code Playgroud)

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

小智 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.
Run Code Online (Sandbox Code Playgroud)

我认为你命令停止应该是以下任何一种

stop in HelloWorldApp.main 
stop at HelloWorldApp:7
Run Code Online (Sandbox Code Playgroud)

尝试看看它可以解决您的问题!