I’ve created a new sample, demonstrating Runtime Flow API usage. The RFDtoTXT command line utility extract the full method calls sequence from a .rfd file and saves it in a plaint text file.
Usage: RFDtoTXT.exe log.rfd log.txt

Thread 12372
void App.Main()
void App..ctor()
void App.InitializeComponent()
void MainWindow..ctor()
void MainWindow.InitializeComponent()
void MainWindow.System.Windows.Markup.IComponentConnector.Connect(0, MainWindow{_contentLoaded=true})...(2, Button) (dup=3)
void MainWindow.System.Windows.Markup.IComponentConnector.Connect(0, MainWindow{_contentLoaded=true})
void MainWindow.Button_Click(Button, RoutedEventArgs)
void MainWindow.Button_Click_1(Button, RoutedEventArgs)
Main sample code is shown below:
public void Convert()
{
foreach (RuntimeFlowExt.ThreadNode t in flow.flow)
{
outputFile.WriteLine(formatter.ThreadName(t));
foreach (RuntimeFlowExt.FlowNode f in t.children)
ConvertFlow(f, 1);
}
}
private void ConvertFlow(RuntimeFlowExt.FlowNode node, int offset)
{
outputFile.WriteLine(new string(' ', offset) + formatter.FunctionCall(node));
foreach (RuntimeFlowExt.FlowNode f in node.children)
ConvertFlow(f, offset + 1);
}
Download sample code: RFDtoTXT_10.zip.
