加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

ProbeVue简介

发布时间:2016-05-19 20:06:01 所属栏目:Unix 来源:网络整理
导读:即使对于老练的程序员和系统管理员,应用程序开发和故障排除也是艰难的任务。即使有了最好的调试器,程序员有时候仍然希望用简单的打印语句检查应用程序正在执

Begin 部分

begin 部分是 Vue脚本中用来执行变量初始化的部分。在脚本开始执行时调用这个部分,而且只执行一次。

探测子句(Probe clauses)

探测子句部分包含程序逻辑。程序员在这个部分中定义各个探测点。下一节详细讨论各种探测类型,这些探测类型包括系统调用、用户函数和内部。

探测类型

ProbeVue提供以下探测类型:

系统调用探测

用户函数探测

内部探测

系统调用探测

系统调用探测(即 syscall 探测)用来探测 libc 库和内核中的函数。可以为函数调用的进入或退出定义探测。系统调用探测的一般形式如下:@@syscall:<process_ID>:<system_call_name>:<entry|exit>

其中:

<process_ID>是要探测的进程(例如,123675 或表示所有进程的*)

<system_call_name>是要探测的系统调用(例如,read)

<entry> 对函数调用的进入执行探测

<exit> 对函数调用的退出执行探测

通过使用系统调用探测,可以在 Vue脚本中使用输入参数和返回值。为了访问输入参数,Vue脚本必须声明要探测的函数的函数原型。例如:int read( int fd, char *buf, unsigned long size );

指定这一行,Vue脚本就能够访问 fd、buf 和size 参数。使用一个特殊的内置变量 __arg3 捕捉函数的返回值。

用户函数探测

用户函数探测应用于应用程序代码级探测。用户函数探测的一般形式如下:@@uft:<processID>:*:<function_name>:entry

其中:

process_ID是要探测的可执行程序的进程 ID

function_name是要探测其进入的用户函数

与系统调用探测不同,用户函数探测必须指定一个进程 ID,而且只能探测函数的进入。

内部探测

内部探测是以一定的时间间隔执行的探测。内部探测的一般形式如下:@@interval:*:clock:<# milliseconds>

其中 <# milliseconds> 以 100ms 为单位定义时间间隔。

命令语法

ProbeVue命令行提供各种选项。本文主要关注 ProbeVue命令的以下形式。后面的ProbeVue示例脚本也使用这种形式。ProbeVue[ -X Program_name [ -A "Arguments_to_program" ] ]
[ Script_name [ Arguments_to_script ] ]

其中:

指定 –X 选项,这会在指定的命令执行期间运行 ProbeVue。ProbeVue的这种用法有助于探测单一程序。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读