ss_attach program-name [argument...] [-v|-V] [-?|--help]
ss_attach 命令可以使用 argument(s) 调用 program-name,并使 Oracle Solaris Studio IDE 启动连接到 program-name 的进程的调试会话。
发出 ss_attach 命令之前,必须在 Sun Studio IDE 中选择 "Tools"(工具)-> "Allow ss_attach request"(允许 ss_attach 请求)以与进程建立这种类型的连接。如果尚未执行该操作,ss_attach 命令将随着 program-name 的执行在无提示的情况下继续运行。
IDE 中的新调试会话与 program-name 的当前工作目录相同。
argument(s) 将传递给调试会话(并使用 dbx runargs 命令进行应用),以便 program-name 可以从 dbx 中重新运行。
参数和工作目录都会覆盖以前建立的存储在程序的 dbx 配置中的任何值。
如果 IDE 中有太多 ss_attach 命令尝试连接到它(例如,由于失控 shell 循环),将停止侦听连接。对于 Sun Studio,该限制设置为 spro.ss_attach.maxrequests。
详细模式。使 ss_attach 命令输出有关与 IDE 进行交互的信息:
$ ss_attach -v date ss_attach: trying to connect to IDE ... ss_attach: got connection ss_attach: waiting for session start in IDE ... ss_attach: Proceeding with exec. Mon Mar 22 16:34:09 PST 2004 $
版本。输出 ss_attach 的版本并退出。
帮助。输出用法消息并退出。
如果成功调用了 program-name,ss_attach 命令的退出状态即为 program-name 的退出状态;否则,ss_attach 命令将以下列值之一退出:
ss_attach 命令中出现错误。
program-name 已找到但无法调用。
无法找到 program-name。
如果 ss_attach 未成功启动连接到指定进程的调试会话,请尝试使用 -V 选项运行 ss_attach。
目前,如果没有 Sun Studio IDE 实例已在运行,无法使 ss_attach 命令启动一个实例。
如果多个 IDE 实例允许 ss_attach 请求,则无需定义 ss_attach 命令会将程序连接到哪个 IDE 实例。
ss_attach 命令不会帮助捕获 Java 应用程序。它将 Java[tm] 虚拟机当作一般本机应用程序。
ss_attach 命令捕获的程序不会添加到 IDE 中的 "Debug"(调试)-> "Load Recent"(装入最新)菜单。
目前还没有工具可用于对捕获的进程轻松启用运行时检查或性能数据收集。
目前还无法阻止 dbx 在成功捕获后前进至主程序(在主程序具有调试信息的情况下)。这会使 ss_attach 命令对于调试静态初始化程序不太理想。
使用 execvp (2) 在 $PATH 中搜索 program-name。
ss_attach: could not connect to external start service -- service not registered
以前错误消息的常见原因是 IDE 和 ss_attach 未满足以下条件:
由相同用户启动
使用相同 $DISPLAY 环境变量设置启动(允许屏幕编号不同)。
dbx (1) 、 sunstudio (1) 、 execvp (2)