java – 在异常情况下转储变量的状态
发布时间:2020-12-14 05:02:26 所属栏目:Java 来源:网络整理
导读:我想知道有没有办法在出现异常时转储所有局部变量的状态,以便更好地了解导致异常的环境状态.下面的变量idsToDump在运行时是未知的,我想找出收集中的哪个值导致NPE的状态. 例: public static void main(String[] args) { HashMapInteger,String employees =
我想知道有没有办法在出现异常时转储所有局部变量的状态,以便更好地了解导致异常的环境状态.下面的变量idsToDump在运行时是未知的,我想找出收集中的哪个值导致NPE的状态.
例: public static void main(String[] args) { HashMap<Integer,String> employees = new HashMap<Integer,String>(); employees.put(1,"James"); Integer[] idsToDump = new Integer[] { 1,2,3 }; for (Integer employeeId : idsToDump) { String name = employees.get(employeeId).toLowerCase(); System.out.println(name + " is employee number: " + employeeId); } } 输出: james is employee number: 1 Exception in thread "main" java.lang.NullPointerException 题: java.lang.NullPointerException 和(这是我之后的部分) values: employeeId=2 我想能够在客户端站点上执行此操作,因此无法访问Eclipse或调试工具,只寻找JVM参数,也无法使代码更改.我看过他们,但找不到任何东西.在此期间,我也会继续搜索;) 解决方法
鉴于您的所有限制,除了jdb之外,我不能推荐任何其他操作.开火那个坏男孩,开始逐行通过客户端代码.我知道你说没有调试工具,但是除非它们是JRE的环境,否则应该已经安装了jdb.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |