4

发生错误时,我的 java 代码中会抛出异常。然后我使用 jdb 运行代码,所以当异常发生时,我可以看到代码所处的状态并进行调试。对于我抛出的所有异常,我输入了一个有用的字符串消息。但是,当 jdb 捕获异常时,它不会将这个字符串连同它一起打印出来。如何打印此字符串?

我已经用谷歌搜索并搜索并阅读了文档,但我不知道如何。

如果我有测试课:

public class Test{
    public static void main(String[] args){
        throw new IllegalArgumentException("How do I view this string through jdb?");
    }
}

并通过 jdb 运行它:

$ jdb Test
Initializing jdb ...
> run
run Test
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
> 
VM Started: 
Exception occurred: java.lang.IllegalArgumentException (uncaught)"thread=main", Test.main(), line=3 bci=9

main[1] 
4

1 回答 1

-1

查看 JDB 的“catch”命令,例如“catch IllegalArgumentException”。根据 JDB文档,它会在抛出异常时导致调试器中断,以便您可以调查细节。 这份关于调试的文档很好地解释了依赖“打印”语句的一些缺点,并且还引用了 JDB 的“捕获”功能。

于 2013-03-22T21:17:32.080 回答