加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

eclipse – 调试,单步执行AspectJ编织类方法

发布时间:2020-12-15 01:27:17 所属栏目:大数据 来源:网络整理
导读:我正在使用Spring(3.2.2)AspectJ(1.7.2)加载时间编织. 使用Netbeans 7.3开发. 我注意到在调试由AspectJ编写的类中的方法时,我无法“跳过”,例如在使用@Transactional注释的内部方法中. 我能够提供断点,但是当我“跳过”时,调试流程跳转到类的第1行,如果再次

我正在使用Spring(3.2.2)AspectJ(1.7.2)加载时间编织.
使用Netbeans 7.3开发.

我注意到在调试由AspectJ编写的类中的方法时,我无法“跳过”,例如在使用@Transactional注释的内部方法中.

我能够提供断点,但是当我“跳过”时,调试流程跳转到类的第1行,如果再次单击“Step over”,它将跳转到其他类.

尝试在IntelliJ 12.1.3中运行它,与Netbeans中的问题相同…

在Eclipse Juno SR2中调试同一个项目时,“跳过”很顺利,但是对于方法中的第一行我必须单击两次.

试图将-XnoInline选项添加到aop.xml,但它没有帮助.

我发现了一个类似的问题Eclipse debug stepping with AspectJ,但我发现答案没有完成:

>问题ID /链接是什么?
>它适用于哪些版本?
>什么时候修好?
>还有其他解决方法吗?
>为什么它在Eclipse中工作,是否有解决方法/功能?

更新1

我没有提到Intellij IDEA的调试是通过远程调试.
当我直接在IDE中进行调试时,它就踩到了……

在Eclipse中我尝试过它在正常和远程调试中都能正常工作.

在Netbeans neigher普通/本地或远程调试步骤超过罚款(一行一行) – 仍然是一个问题.

更新2

我发现调试该代码有什么问题.

版本3.2.2中的Spring更改了@Transactional方面,将@Before和@After组合替换为@Around.

用Spring<运行我的测试时3.2.2,调试工作正常. 遗憾的是@Around使@Transactional方法几乎无法调试. 这是AspectJ中的已知问题(使用@Around)吗? 我添加了一个与此问题相关的spring问题:
https://jira.springsource.org/browse/SPR-10596

更新3

在Netbeans 7.4中,可以使用“Step over expression(Shift F8)”而不是“Step over(F8)”来逐步执行代码.

最佳答案
我认为问题实际上是IntelliJ不支持他们的帧重写以删除@Around代码帧,就像它们对@ Before / @ After一样.这个问题已经提交给他们http://youtrack.jetbrains.com/issue/IDEA-119214

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读