The goal of the frysk project is to create an intelligent, distributed, always-on system monitoring and debugging tool that allows developers and system administrators to monitor running processes and threads (including creation and destruction events), monitor the use of locking primitives, expose deadlocks, gather data and debug any given process by either choosing it from a list or by accepting frysk’s offer to open a source code or other window on a process that is in the process of crashing or that has been misbehaving in certain user-definable ways.
frysk is free software and so is generally and freely available as both a research and development platform.
First you have to select the application/daemon/file you would like to monitor or debug. Frysk is very resource hungry and crashed several times during testing in monitor mode. For more details for frysk and how to use it check out the above link.
[ pic source: redhat ]