很难解释,但我会尽我所能。 有一个.jar文件可以打开锦标赛环境的GUI。它是独立的,我没有给出源代码。我需要用Java编写一个代表比赛的代理。当.jar文件打开时,我可以在GUI中指定代理程序的类文件的路径。这很好用。但我不知道如何调试这个,因为.jar文件没有在eclipse中打开。我尝试使用外部工具,它似乎运行.jar文件,但GUI没有打开,所以我无法指定代理的路径。锦标赛环境文档并没有真正提供在没有GUI的情况下操作它的说明,所以我真的只需要使用GUI。我可以通过eclipse运行这个文件的任何方式,所以我可以看到我自己的代理如何与环境一起工作并相应地进行测试/调试?
其他信息 - 这个.jar也可以作为一个库,我能够毫无问题地导入Eclipse。
答案 0 :(得分:5)
很难说出这里发生了什么,但有一些事情可以帮助。
首先,您可以使用命令行选项启动您的应用程序,如下所示:
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n
请注意,如果您需要调试启动代码,则需要设置“suspend = y”,这样应用程序将暂停启动,直到您从调试器连接为止。
在Eclipse中,连接端口8453。
其次,单步执行没有源代码的代码并非不可克服。安装“jd-eclipse”插件,您可以在http://jd.benow.ca/获得该插件。这将使这成为可能。
答案 1 :(得分:0)
我一直在使用JAD Eclipse插件来动态反向工程jar库。 http://jadclipse.sourceforge.net/wiki/index.php/Main_Page
但是,值得注意的是,反编译的源代码与堆栈跟踪中的行号不完全匹配。