The System.Diagnostics namespace has a class called StackTrace. Create an instance of this object inside your functions and print the ToString representation of that object, to get a stack trace.
Example:
Code:
// This method returns an object that implements ICustomFormatter
// to do the formatting.
public object GetFormat(Type argType)
{
StackTrace st = new StackTrace();
System.Windows.Forms.MessageBox.Show( st.ToString() );
// Here, the same object (this) is returned, but it would
// be possible to return an object of a different type.
if (argType == typeof(ICustomFormatter))
return this;
else
return null;
}