**Course Code: *SI-328-S10*
Course Title: *DTrace for Developers
*Duration: *Two (2) Days
*
Course Description*
he DTrace for Developers course provides students with the ability to
diagnose application and kernel problems. The course teaches largely by
example. Various case studies are covered. Lab work is used both to
allow students to practice the techniques learned in the course
material, and to expand on some of the topics.
*Target Audience*
Students who can benefit from this course are experienced application
and kernel developers and service support personnel.
*Skills Gained*
- Learn how to use DTrace to determine the root cause of problems in
application software, as well as the kernel.
- Learn how to add new probes to application and kernel modules.
- Learn how to use DTrace to troubleshoot problems, both with source
code, and without access to source code.
- Learn general techniques for debugging, and how to apply the
techniques using DTrace.
- Learn general techniques for debugging, and how to apply the
techniques using DTrace.
*Prerequisite*
To succeed fully in this course, students should be proficient in C or
C++, and have a general understanding of debugging.
*Related courses*
_Before_:
SA-327-S10: Troubleshooting to Improve Performance Using DTrace for Sys
Admins
_After_:
SI-365-S10: Solaris 10 Operating System Internals
*
Course Outline*
Module 1 - DTrace Overview
- Types of problems
- Logic errors, i.e., incorrect results
- Crashes (segmentation violations, kernel crashes, etc.)
- Hangs
- Performance Issues
- Introduction to DTrace facilities
- How DTrace works
- When to use DTrace
- Scripting with DTrace
- Example DTrace scripts and one-liners
Module 2 - Using DTrace
- The pid Provider
- Plockstat
- Examining specific libraries
- Case Studies - Various examples showing use of DTrace to drill-down to
find the source of problems.
Module 3 - Using DTrace for Kernel Software
- Examining problems in device drivers and other kernel modules
Module 4 - The SDT Provider
- Adding new probes
Module 5 - Using libdtrace(3lib)
Module 6 - Providers for Java, php, and other languages



The News


