本文示例源代码或素材下载
开始之前
本教程帮助 Unix 系统开发人员和管理员以最佳方式跟踪系统上运行的应用程序。要想从本教程获得最大收获,您应该了解 UNIX 操作系统的基本知识及其操作方式。具备基本的编程经验会有帮助,但不是必需的。
关于本教程
大多数开发人员和系统管理员知道在他们的操作系统和应用程序中应该会发生什么情况,但糟糕的是,有时候不是这样的。当应用程序崩溃或表现异常时,需要查明更多信息。通过利用对应用程序正常工作方式的了解和一些基本 UNIX 技能,可以跟踪应用程序,查明造成问题的原因。本教程讲解使用跟踪工具了解应用程序内部情况的基本技术。
本教程首先讨论调试和跟踪的差异,以及这两种解决方案的工作方式差异。然后,通过一些具体示例讲解如何使用跟踪解决应用程序中的问题。DTrace 提供跟踪和调试两种系统的组件,还支持对应用程序进行计时和基准测试。最后,本教程讲解如何跟踪在网络计算机之间交换的信息,帮助发现网络应用程序中的问题。
跟踪概述
有时候,需要了解在应用程序内部正在发生的情况。例如,应用程序可能会运行失败,而又没有显示有帮助的错误消息,或者系统服务没有按照预期的方式运行。在这些情况下,您可能不掌握应用程序源代码,因此无法通过传统的调试过程寻找问题的原因。跟踪提供了一种替代方法。
调试
对于开发人员来说,寻找 UNIX 应用程序问题的主要方法是,使用开发环境或操作系统的调试特性检查源代码,查明造成问题的原因。
大多数调试系统支持逐行监视和检查代码行的执行过程,还支持监视变量和结构的值。可以使用调试器在代码中设置断点,执行过程会停在断点上;在断点上,可以获得关于调用堆栈(函数的调用路径)的信息以及变量值。
标签: