启动应用程序时,如果指定了以下示例中显示的选项,则可将 dbx 连接到运行的 Java 应用程序。 启动应用程序后,您可将 dbx 命令与运行的 Java 进程的进程 ID 结合使用,以开始调试。
$ java -agentlib:dbx_agent myclass.class $ dbx - 2345
为了使 JVM 软件能够找到 libdbx_agent.so,需要在运行 Java 应用程序前将适当路径添加到 LD_LIBRARY_PATH 中:
在运行 Solaris Oracle OS 的系统的 32 位版本的 JVM 软件上:添加 /install-dir/SUNWspro/lib/libdbx_agent.so
在运行 Oracle Solaris OS 的系统(基于 SPARC)的 64 位版本的 JVM 软件上:将 /install-dir/SUNWspro/lib/v9/libdbx_agent.so 添加到 LD_LIBRARY_PATH
在运行 Linux OS 的系统(基于 x64)的 64位 版本的 JVM 软件上:将 /install-dir/sunstudio12/lib/amd64/libdbx_agent.so 添加到 LD_LIBRARY_PATH
install-dir 是 Oracle Solaris Studio 安装的位置。
将 dbx 连接到运行的应用程序时,dbx 将以 Java 模式开始调试应用程序。
如果 Java 应用程序需要 64 位的对象库,请在启动应用程序时包括 -d64 选项。 之后,将 dbx 连接到应用程序时,dbx 将使用运行该应用程序的 64 位 JVM 软件。
$ java -agentlib:dbx_agent $ dbx - 2345
以下任务介绍如何使用进程 ID 将 dbx 连接到特定的 Java 进程。
java –agentlib:dbx_agent myclass.class
dbx -process-ID