| Home | Wiki | Use Cases | Work Flows | FAQ | Get Involved | Bugzilla | Build | Blog | Documentation

# Documentation

For instructions on how to build frysk see building frysk.
For example workflows illustrating frysk will work see workflow.

For a list of example utilities build on the frysk framework see manpages.

## Articles on frysk

- Frysk 1, Kernel 0?, by Andrew Cagney, in Proceedings of the Linux Symposium 2007
- The Frysk Monitor, Sami Wagiaalla, in Red Hat Magazine October 12, 2006
- Frysk: Debugging in real time, Rick Moseley, in Red Hat Magazine September 28, 2006
- The Frysk Execution Analysis Architecture, by Andrew Cagney, in Proceedings of the Linux Symposium 2006

## frysk Internals

- A snapshot of frysk's internal documentation is available online:
  - public or published interfaces
  - private or internal interfaces
  It is updated occasionally. Alternatively you can build your own local copy of frysk's documentation using the `javadoc` make target:

      make javadoc

- IBM have create a graphical representation of frysk's Task State Machine.
- It is possible to create coverage information for frysk using the gcov/lcov test coverage tools.
- For how to create a frysk release, see the releases page.

## Recommended Reading

- Design Patterns: Elements of Reusable Object-Oriented Software, by the <<gang of four>>
  This book is considered the definitive reference. Some find other more recent equivalent publications easier to digest. The patterns:
  - observer
  - state
  - builder
  - factory
  - singleton
  are used widely by frysk so an understanding of them is a great help.
- Refactoring: Improving the Design of Existing Code, by Martin Fowler
  This book both describes the concept of behavior preserving code transformations, and provides a set of refactorings. See also http://refactoring.com/
- Thinking In Java, 3rd Edition, by Bruce Eckel
  A great book for learning Java 1.4.2. that is also available for download so you can keep an electronic copy on your desktop.
- Linkers and Loaders, by John R.Levine
  This provides a solid overview of object file formats, along with the internals of linkers and loaders. In addition, the book Unix System V: Understanding Elf Object Files and Debugging Tools (Programmer Collection) provides a great introduction to ELF, but unfortunatly it is very hard to find.
- How Debuggers Work; Algorithms, Data Structures, and Architectures, by Jonathan B. Rosenberg
  While this book is starting to show its age, it still continues to offer an excellent overview of a software debugger and its internals.
- Introduction to the DWARF Debugging Format, by Michael Eager
  This gives a good start to DWARF and is no where near the thickness of the DWARF Spec.

## In the News

- A look at ftrace, or how to write your own Frysk utility by Phil Muldoon
- First Look: Fedora Core 5
- A look at GCJ 4.1
- Java-GNOME 2.14

## Links and References

- Anltr: ANother Tool for Language Recognition.
  http://www.antlr.org
- JUnit: XUnit Testing Framework for Java.
  http://www.junit.org
- JLine: A Java library for handling console input.
  http://jline.sourceforge.net/
- GCJ: http://gcc.gnu.org/java/
- ECJ: http://www.eclipse.org/jdt/index.html
- GTK+: http://www.gtk.org/
- Cairo: http://www.cairographics.org/introduction
- Java-GNOME: http://java-gnome.sourceforge.net/cgi-bin/bin/view
- dogtail: http://people.redhat.com/zcerza/dogtail/ (report a bug)
  dogtail is a graphical test tool and automation framework that uses Accessibility (a11y) technologies to communicate with desktop applications.
- LinuxHPC: http://LinuxHPC.org
- Parallel Tools Consortium's High Performance Debugger Forum's Command Interface for Parallel Debugging (pdf file) (Old web site http://www.ptools.org/hpdf/
)
- Free Standard Group's DWARF Workgroup: http://dwarfstd.org/
- Free Standard Group's ELF Spec: http://www.freestandards.org/spec/book/ELF-generic/
- Special Issue on Debugging and Software Visualization:
  http://web.media.mit.edu/~lieber/Lieberary/Softviz/CACM-Debugging/CACM-Debugging-Intro.html
- Cell Broadband Engine: http://cell.scei.co.jp/, http://www.alphaworks.ibm.com/topics/cell
- The libunwind project: http://savannah.nongnu.org/projects/libunwind/
- Signals: Requirements of the POSIX Signal Model (important summary), Native POSIX Thread Library: NPTL (outdated, but described the important concepts), Single UNIX Spec - Signal Concepts