Tim*_*sen 8 java ant bytecode breakpoints intellij-idea
我正在使用一个相当古老的Java Ant项目,我将其导入到IntelliJ中,之前它是使用Eclipse开发的.该项目由少量servlet组成.我正在尝试从IntelliJ进行调试.IntelliJ可以在端口8000上连接到远程Tomcat,但是当我尝试添加断点时,我得到以下可怕的错误:
行号com.package.blah.SomeClass中没有行号信息
根据SO和其他地方的建议,我将我的Ant构建脚本修改为以下内容:
<target name="compile" depends="web-skeleton">
<ant dir="${deployment-wizard.dir}" target="uberjar"/>
<javac debug="true" debuglevel="lines,vars,source" srcdir="${src.dir}"
destdir="${build.dir}/WEB-INF/classes" classpathref="project.class.path"/>
</target>
Run Code Online (Sandbox Code Playgroud)
我将debug和debuglevel行添加到上面调用的目标javac.另外,我试过跑步javap -v SomeClass.class,在那里我看到如下内容:
line 94: 418
line 97: 433
line 98: 443
LocalVariableTable:
Start Length Slot Name Signature
343 22 13 decrypted Ljava/lang/String;
370 11 13 e Ljava/lang/Exception;
244 189 7 keyParam Ljava/lang/String;
255 178 8 userParam Ljava/lang/String;
266 167 9 environmentParam Ljava/lang/String;
Run Code Online (Sandbox Code Playgroud)
我不知道这是否意味着字节码包含行号,但它肯定是这样出现的.
我还尝试从头开始清理和重建,并从IntelliJ执行无效的缓存/重启.
我希望有人能在这里提供一些帮助.作为最后的手段,我可以尝试将其移植到Maven项目中,但除非绝对必要,否则我宁愿避免这种情况.
小智 4
同样的事情发生在我身上,这是因为我在 Gradle 应用程序中有“shrinkResources true”和“minifyEnabled true”
buildTypes {
debug {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1628 次 |
| 最近记录: |