【问题标题】:cannot debug in eclipse after bytecode enhancement字节码增强后无法在eclipse中调试
【发布时间】:2018-01-09 10:09:44
【问题描述】:

我们有一个非常古老的 java 项目,它由一些子项目组成,其中一个使用了字节码增强器 jdodoclet,整个项目都是由 ant 脚本构建的。

现在,每当尝试对项目进行调试时,一旦我们进入该特定项目的类,我们就不能只进入,但不能跳过,使调试变得毫无意义。

所以当调试第一次开始时,eclipse会给我们一个警告

但它会照常进行。

一旦我们进入程序的任何类,eclipse 就无法显示我们在源代码中的位置,也无法显示行号(好吧,行号是原因)

我确实检查并再次检查了编译器设置

并重新启动 eclipse。

但还是不行。

有人对这个问题有什么建议吗?

【问题讨论】:

  • 看起来字节码“增强器”删除了进程中的调试信息。

标签: java eclipse debugging line-numbers byte-code-enhancement


【解决方案1】:

您必须重新编译包含调试信息(行号)的代码,检查此答案How to make Java compiler generate line numbers in compiled code。 Eclipse 设置正是为了这个目的:当您在 Eclipse 中编译代码时,它会将调试信息添加到生成的 .class 文件中,但它不会让您调试没有此设置编译的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    相关资源
    最近更新 更多