gpt4 book ai didi

java - 如何在不访问源代码的情况下调试 Java 应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:55:53 26 4
gpt4 key购买 nike

我需要调试一个没有源代码的 Java 应用程序。它在 Jetty 服务器上本地运行。使用 JD-GUI 反编译工作正常。通过套接字连接或共享内存附加 JDB 也能正常工作。

我失败的地方是将各个部分拼接在一起。我主要尝试了带有 JD-Eclipse 插件和远程调试的 Eclipse。我找不到将调试器成功附加到正在运行的进程的方法。一切似乎都假设我至少有部分应用程序可以作为项目中的源代码使用,但我没有。它是一个相当大的应用程序(200+ MiB 的 JAR 文件和 500+ MiB 的其他东西)所以尝试从所有反编译的类构建一个项目并让它运行不是一个选项,除非它很容易自动化。

我真正需要的是能够将调试器附加到正在运行的进程、查看和导航反编译代码、设置断点以及检查变量和对象。代码是否可以重新编译并不重要。如果有条件断点和表达式求值就好了。

最佳答案

您可以借助 jd-eclipse 及其扩展 jd-eclipse 重新对齐片段的组合来完成此操作。

JD-Eclipse

Realignment fragment

安装过程非常简单:

  • 安装 JD-Eclipse按照提供的步骤JD-Eclipse站点(过程很简单)
  • 重新启动 Eclipse
  • Download重排realignment.jd.ide.eclipse_1.0.2.jar
  • 将文件复制到\dropins
  • 重新启动 Eclipse
  • 转到 Windows -> 首选项
  • 导航到常规 -> 编辑器 -> 文件关联
  • 在“文件类型”部分选择 *.class,选择“为 JD 重新对齐”关联编辑器部分中的类文件编辑器,然后单击默认按钮。
  • 按确定并开始调试!

关于java - 如何在不访问源代码的情况下调试 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com