首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试JAR intellij或命令行

调试JAR intellij或命令行
EN

Stack Overflow用户
提问于 2017-08-30 11:47:23
回答 2查看 7.2K关注 0票数 2

我使用下面的配置--我的根项目下的调试jar文件,当我点击调试程序开始运行,但没有停止,因为我没有设置任何断点(因为这是jar文件:),在node.js中,有一个选项可以使用--inspect-brk 信息来完成它,它在第一个语句上停止,但不确定如何在jar文件上执行。

我的问题是

  1. 如何在程序jar的第一行中停留?
  2. 我的配置还好吗?

如果你不能设置一个断点,你怎么能调试jar .

编辑:

我尝试过疯狂编码的建议,但它不起作用,有什么想法吗?

我尝试的是在根项目分解文件夹下创建并运行以下命令

代码语言:javascript
复制
 java -jar fernflower.jar zte.jar + decomplie/

我当然找不到了

我也试过

代码语言:javascript
复制
java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler zte.jar + decomplie/ 

无法找到或加载主类org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler

我如何得到这个罐子(fernflower.jar )或它的路径?

EDIT2

我的项目是这样的

代码语言:javascript
复制
-myjavaproj

 --zte.jar
 --decomile
 ---zte.jar
 ---com.proj.cli
 ----appmain.java 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-01 14:49:34

对于特定的项目,即一个jar文件(zte.jar),其中包含deps.zip,其中包含其他.jar依赖项,根本不包含任何源,还使用反射和自定义类加载器来加载和使用deps.zip中的.jar文件;要使调试器工作,必须将deps.zip中的所有jar解压缩到某个位置,然后创建一个新的IntelliJ IDEA项目,并将所有jar(包括从deps.zip中解压缩的根zte.jar 所有的罐子 )添加到模块依赖中。

浏览到CliExecutor中的self.jar,在项目视图中,IntelliJ IDEA将解压缩它,放置断点,调试它。

票数 1
EN

Stack Overflow用户

发布于 2017-08-30 12:07:25

您的配置有点奇怪,但正确。您提供的VM选项告诉JVM在运行zte.jar时等待,直到附加调试器。

因此,您不会在第一行自动停止,您需要在IDEA中添加断点并手动将其附加到JVM进程。这是在这里解释的,如何远程调试JVM

记住,你做错了一件事。不需要在VM选项中设置调试选项。只需选择要调试的JAR,放置断点并以调试模式启动(即IDEA中的bug样图标)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45959594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档