Runtime Flow blog (Understanding a control flow in a running .NET application)

August 30, 2021

Runtime Flow v3.0.1 released

Filed under: Uncategorized — Sergey Vlasov @ 4:24 am

Runtime Flow v3.0.1 released:

  • Fixed simultaneous installation for VS 2019 and VS 2022.
  • Fixed NullReferenceException in get_startup_project_settings for a C++ project.

Download links: Visual Studio edition.

August 4, 2021

Runtime Flow v3.0.0 released

Filed under: Uncategorized — Sergey Vlasov @ 7:55 am

Runtime Flow v3.0.0 released:

  • Added integration with Visual Studio 2022.
  • The portable edition and VS 2022 module are now 64-bit applications.
  • Added Run support for .NET 5/6 projects.
  • Improved monitoring performance.

Download links: Visual Studio edition, Portable edition.

April 24, 2020

Runtime Flow v2.2.1 released

Filed under: Uncategorized — Sergey Vlasov @ 4:27 am

Runtime Flow v2.2.1 released:

  • Added flow timestamps saving to RFD.

Download links: Visual Studio edition, Portable edition.

April 11, 2020

Runtime Flow v2.2.0 released

Filed under: Uncategorized — Sergey Vlasov @ 4:43 am

Runtime Flow v2.2.0 released:

  • Disabled inlining in the monitored process.
  • Added copying dup information to the clipboard.
  • Added timestamp presentation options.

Download links: Visual Studio edition, Portable edition.

December 21, 2019

Runtime Flow v2.1.0 released

Filed under: Uncategorized — Sergey Vlasov @ 4:44 pm

Runtime Flow v2.1.0 released:

  • Added the new timeline window.

Download links: Visual Studio edition, Portable edition.

November 27, 2019

Runtime Flow v2.0.1 released

Filed under: Uncategorized — Sergey Vlasov @ 12:36 pm

Runtime Flow v2.0.1 released:

  • Fixed empty Flow and Summary windows in Visual Studio 2019.
  • Stopped support for Visual Studio 2010/2012/2013.

Download links: Visual Studio edition, Portable edition.

April 17, 2019

Runtime Flow v2 adds support for Visual Studio 2019

Filed under: Uncategorized — Sergey Vlasov @ 4:19 pm

Runtime Flow v2.0.0 released:

  • Added integration with Visual Studio 2019.

Download link: Visual Studio edition.

March 24, 2018

Monitoring a .NET Core application

Filed under: Uncategorized — Sergey Vlasov @ 8:26 am

To monitor a .NET Core application, use C:\Program Files\dotnet\dotnet.exe as a runner for your application dll:

February 13, 2018

Timing

Filed under: Uncategorized — Sergey Vlasov @ 7:21 am

I’ve created a new sample extension that shows time stamps for method calls:

Please, have a look.

December 13, 2017

Saving flow in a text file

Filed under: Uncategorized — Sergey Vlasov @ 8:35 am

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.

Older Posts »

Create a free website or blog at WordPress.com.