JPDA Trace tool not picking up classpath
发布: 2007-8-23 下午3:11
JPDA Trace好不容易找到的   JPDA Trace好不容易找到的 回复
Hello:

I created a Hello class and followed the instruction on http://java.sun.com/j2se/1.5.0/docs/guide/jpda/trace.html for Tracing the method calls at runtime. However while launching Trace tool, it does not seem to use the classpath setting in order to find my Hello class. Hello.java does not have package directive and is created in "D:\tmp\java-example". As shown below in Step 1, if I run my program from D:\tmp\java-example then the Trace tool is able to find the program. However if I am in any other directory and set D:\tmp\java-example in the CLASSPATH (as shown in Step 2 below) or provide it as value to jvm -classpath argument (as shown in Step 3 below) then the Trace tool is unable to find my Hello class.

Step 1:
D:\tmp\java-example>java com.sun.tools.example.trace.Trace Hello
-- VM Started --
====== main ======
main -- Hello
| <init> -- Hello
| methodA -- Hello
| | methodC -- Hello
| methodB -- Hello
====== main end ======
-- The application exited --


Step: 2

D:\tmp\java-example>echo %CLASSPATH%
"D:\tmp\java-example\;C:\Program Files\Java\jdk1.6.0\lib\Tools.jar;C:\Program Files\Java\jdk1.6.0\demo\jpda\;"

D:\tmp\java-example>cd ..

D:\tmp>java com.sun.tools.example.trace.Trace Hello
java.lang.NoClassDefFoundError: Hello
Exception in thread "main" -- VM Started --
-- The application exited --


Step: 3
D:\tmp>java -classpath "D:\tmp\java-example\;C:\Program Files\Java\jdk1.6.0\lib\
Tools.jar;C:\Program Files\Java\jdk1.6.0\demo\jpda\;" com.sun.tools.example.trac
e.Trace Hello
java.lang.NoClassDefFoundError: Hello
Exception in thread "main" -- VM Started --
-- The application exited --

Any help is much appreciated.

Thanks,

840807 JPDA Trace好不容易找到的

发贴数: 49,988
注册时间: 11-03-01
Re: JPDA Trace tool not picking up classpath
发布: 2007-11-19 上午12:32   JPDA Trace好不容易找到的 回复: 840807
JPDA Trace好不容易找到的   JPDA Trace好不容易找到的 回复
Hi
Have you find how to solve this issue?
840807 JPDA Trace好不容易找到的

发贴数: 49,988
注册时间: 11-03-01
Re: JPDA Trace tool not picking up classpath
发布: 2007-11-19 上午2:52   JPDA Trace好不容易找到的 回复: 840807
JPDA Trace好不容易找到的   JPDA Trace好不容易找到的 回复
Hi.
After all, it was small bag in the Trace example:
In the method Trace.connectorArguments(..) handling of class path should be added:
Map connectorArguments(LaunchingConnector connector, String mainArgs) { 
        Map arguments = connector.defaultArguments(); 
        Connector.Argument mainArg = 
                   (Connector.Argument)arguments.get("main"); 
        if (mainArg == null) { 
            throw new Error("Bad launching connector"); 
        } 
        mainArg.setValue(mainArgs); 
        // Begin of the fix 
        Connector.Argument optsArg = 
                   (Connector.Argument)arguments.get("options"); 
        if (optsArg == null) { 
            throw new Error("Bad launching connector"); 
        } 
        String cp = "-Djava.class.path="+System.getProperty("java.class.path";); 
        optsArg.setValue(cp); 
       // End of the fix

That's all.
user5344869 JPDA Trace好不容易找到的

发贴数: 101
注册时间: 10-09-25
Re: JPDA Trace tool not picking up classpath
发布: 2007-12-19 上午8:04   JPDA Trace好不容易找到的 回复: 840807
JPDA Trace好不容易找到的   JPDA Trace好不容易找到的 回复

相关文章:

  • 2022-01-28
  • 2022-12-23
  • 2021-05-01
  • 2022-12-23
  • 2021-11-29
  • 2021-04-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
  • 2022-01-02
  • 2022-12-23
  • 2022-02-05
  • 2021-05-22
相关资源
相似解决方案