idea seata tcc项目debug启动出现ArrayIndexOutOfBoundsException异常

  • Post author:
  • Post category:其他


idea seata tcc项目debug启动程序的时候出现SignatureParser的 java.lang.ArrayIndexOutOfBoundsException异常。在之前的idea seata at模式的时候,debug功能是正常的,run功能也是正常的。

以debug方式启动,会出现异常和断点,代码执行被中断,以run正常运行方式启动时,程序可以正常启动。在增加tcc模式后,使用了java代理,初步判断,是该原因引起。从异常发生的位置来看,是jdk的代码中,怀疑和业务代码无关。

代码位置:

异常信息:

选择从该断点继续执行,后续会重复在此位置中断。即使不断继续执行,很快又会遇到其它的异常断点,导致程序没有办法调试。

选择菜单”Run”–>”View Breakpoints”进行查看断点。

从断点界面,可以看到java.lang.RuntimeException启用。

取消java.lang.RuntimeException前面的选择。

再次以debug启动,程序可以调试方式运行了。

代码断点和调试功能也正常了。

综合上述信息来看,tcc模式中使用了java代理以后,对idea针对debug模式设置的默认断点规则有一定的影响,此时不适合针对java.lang.RuntimeException设置断点。通过修改配置,重新以debug运行的实际效果来看,也印证了这一点。



版权声明:本文为liaomingwu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。