你的命令: java命令 「C:\ Program Files文件\的Java \ jdk1.7.0_13 \ LIB \ tools.jar中; d:\項目\ JDI_Trace \罐子\ trace.jar; D:\projects\PDFJavaFX\lib\PDFRenderer-0.9.1.jar
」 COM /陽光/工具/例子/跟蹤/跟蹤COM /陽光/ pdfview/PDF查看器
說明: 新的虛擬機是由跟蹤創造了不同的類路徑。主類PDFViewer
在PDFRenderer**.jar
中,但新VM並不知道該jar,所以無法找到主類。我在使用Eclipse時遇到了這個問題。通過更改工作目錄,我可以成功運行它。
事實上,Trace類使用JDI來啓動新的VM,但它只設置了主選項並放棄了vm選項。下面的代碼是從Thrace類源文件引用的,我添加了一些行來打印這些選項。
Map<String, Connector.Argument> connectorArguments(LaunchingConnector connector, String mainArgs) {
Map<String, Connector.Argument> arguments = connector.defaultArguments();
Connector.Argument mainArg =
(Connector.Argument)arguments.get("main");
//added by me: begin
java.util.Set<String> argsString = arguments.keySet();
System.out.println("connector args size is :" + argsString.size());
for (String arg : argsString) {
System.out.println(arg + "=="+ arguments.get(arg).description()+"=="+arguments.get(arg).value()) ;
//added by me: end
}
if (mainArg == null) {
throw new Error("Bad launching connector");
}
mainArg.setValue(mainArgs);
參數大小的輸出是6,它們是「home,options,main,suspend,quote和vmexec」。如果我們要配置新的VM選項,我們可以通過setValue方法(如設置「main」)設置「選項」。
但我不使用IDE。我從命令行運行一個java程序,然後嘗試追蹤它,我想知道它在技術上是否可行。你有沒有與工作示例的鏈接?謝謝 – Spiff