WEB开发网
开发学院操作系统Linux/Unix 动态跟踪工具 阅读

动态跟踪工具

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示:简介如果在非生产环境中无法重现问题,就必须在生产环境中应用各种问题判断技术,动态跟踪工具,以寻找问题的根源,同时不能影响生产系统的性能和稳定性,比如 integer、char、short、long 等等,它还提供 ANSI-C 操作符的子集,在不同的 UNIX® 平台上有不同的工具和技术,但是这些并不都能够用来

简介

如果在非生产环境中无法重现问题,就必须在生产环境中应用各种问题判断技术,以寻找问题的根源,同时不能影响生产系统的性能和稳定性。

在不同的 UNIX® 平台上有不同的工具和技术,但是这些并不都能够用来诊断生产系统中的问题,因为其中一些会造成性能和稳定性问题。

Solaris 和 AIX 平台都提供用于诊断生产系统问题的动态跟踪工具。

Solaris 上的 Dtrace 动态跟踪工具

Dtrace 是在 Solaris 10 中引入的动态跟踪工具,这种调试工具可以调试用传统的问题判断机制难以诊断的问题。

Dtrace 让用户能够动态地修改操作系统内核和用户进程,从而记录额外数据。管理员和开发人员可以使用记录的数据研究应用程序和操作系统,寻找正在运行的系统的异常行为的原因。

术语

探测(Probe):内核或应用程序中用户感兴趣的位置,需要记录来自这些地方的数据。

提供者(Provider):执行创建探测所需的操作的内核模块。

断言(Predicate):修改控制流的逻辑表达式,可以有条件地跟踪数据。

D 语言

Dtrace 动态跟踪工具使用 D 语言,用户可以使用 D 语言把动作与探测点关联起来,以及指定什么时候触发探测和在触发时记录哪些数据。dtrace 命令解释使用 D 语言编写的脚本。

这种语言支持与 C 语言相似的数据对象,比如 integer、char、short、long 等等。它还提供 ANSI-C 操作符的子集,可以用来操作数据对象。

D 语言结构

下面的示例说明 D 语言的结构:

probe1 
/ predicate / 
{  
 action 
} 
probe2 
/ predicate / 
{ 
  action  
} 

1 2 3 4 5 6  下一页

Tags:动态 跟踪 工具

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接