以下包装器脚本 (xyz) 会设置几个环境变量并启动 JVM 软件,但不接受任何命令行选项或类名:
#!/bin/sh CLASSPATH=/mydir/myclass:/mydir/myjar.jar; export CLASSPATH ABC=/mydir/abc; export ABC java <options> myclass |
可以通过 dbx 并采用以下两种方法之一,使用此类脚本来调试包装器:
可以对脚本进行修改,即将变量 jvm_invocation 的定义添加到脚本中并启动 dbx,以从包装器脚本内部启动 dbx:
#!/bin/sh CLASSPATH=/mydir/myclass:/mydir/myjar.jar; export CLASSPATH ABC=/mydir/abc; export ABC jvm_invocation="java -Xdebug <options>"; export jvm_invocation dbx myclass.class |
修改后,便可运行脚本来启动调试会话。
可以略微修改脚本来接受某些命令行选项,如下所示:
#!/bin/sh CLASSPATH=/mydir/myclass:/mydir/myjar.jar; export CLASSPATH ABC=/mydir/abc; export ABC JAVA_OPTIONS="$1 <options>" java $JAVA_OPTIONS $2 |
修改后,便可设置环境变量 jvm_invocation,并按以下方式启动 dbx:
% jvm_invocation="xyz -Xdebug"; export jvm_invocation % dbx myclass.class |