jdb打印捕获异常消息

时间:2013-03-22 21:01:12

标签: java jdb

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

我用Google搜索并搜索了文档,但我无法弄清楚如何。

如果我有测试类:

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] 

1 个答案:

答案 0 :(得分:1)

查看JDB“catch”命令,例如“catch IllegalArgumentException”。根据JDB docs,它将导致调试器在抛出异常时中断,以便您可以探测详细信息。有关调试的This文档很好地解释了依赖于“print”语句的一些缺点,并且还引用了JDB“catch”功能。