attach 命令用于将 dbx 连接到运行中的进程,停止执行并将程序置于调试控制下。在本地模式和 Java 模式中,它的语法和功能相同。
使用进程 ID process_id 开始调试程序。dbx 使用 /proc 查找程序。
使用进程 ID process_id 开始调试 program_name。
使用进程 ID process_id 开始调试 program_name。 program_name 可为 ‐,dbx 使用 /proc 查找它。
使用 -r 选项时,dbx 保留所有 watch 命令、display 命令、when 命令以及 stop 命令。如果不使用 -r 选项,则执行隐式 delete all 命令和 undisplay 0 命令。
其中:
process_id 是运行中的进程的进程 ID。
program_name 是正在运行的程序的路径名。
通过将 libdbx_agent.so 添加到 LD_LIBRARY_PATH 确保 JVMTM 软件可以找到 libdbx_agent.so。libdbx_agent.so:
如果要在运行 Solaris OS 的系统上使用 32 位版本的 JVM 软件,请将 /installation_directory/libdbx_agent.so 添加至 LD_LIBRARY_PATH。
如果在运行 Solaris OS 且基于 SPARC 的系统上使用 64 位版本的 JVM 软件,则将 /installation_directory/lib/v9/libdbx_agent.so 添加至 LD_LIBRARY_PATH。
如果在运行 Solaris OS 或 Linux OS 且基于 x64 的系统上使用 64 位版本的 JVM 软件,则将 /installation_directory/lib/amd64/libdbx_agent.so 添加至 LD_LIBRARY_PATH。
installation_directory 是 Sun Studio 软件的安装位置。
通过键入以下命令启动 Java 应用程序:
java -Djava.compiler=NONE -Xdebug -Xnoagent -Xrundbx_agent myclass.class
然后,可以启动 dbx 并使用进程 ID 连接到进程:
dbx -process_id