Tracing application on production. How to do it?

C#: How to find out what actually happens with your application on production?

As we all know software development of applications is not only about coding but also about documenting, testing and bug fixing. On the Web you can find an endless amount of tools supporting that process at development stage, but almost none are collecting data from your client machine. Does that mean that on production we should desist those actions? According to DevOps specialists’ only continuous deployment of your application may shorter development cycles and cut deployment failures. You may wonder – is there any way to find out what actually happens with your applications on production? How to make it better? We would like to show you a special recorder for Visual Studio which allows you to dive into your app, and take a closer look at its behavior in every environment.

A .NET tool, which allows you to record actions of your program

Have you ever heard about reverse debugging? It bases on a concept of an airplane black box. Just like a flight recorder, it records everything what happens on a plane during flight, RevDeBug is a tool which records everything what happens with your application during operating.

1. Download RevDeBug for free from the Microsoft Marketplace

RevDeBug is a Visual Studio extension, available at the Microsoft Marketplace. After downloading and installing it, you will be able to build your own projects with it.

Add or remove RevDeBug from your project by simply ticking the checkbox.

2. Build your project with RevDeBug

Now you may record your projects at your own computer. The recording will extract automatically after turning off your application.

Local recordings are extracted automatically seconds after your program stops working

3. Configure your own server for recordings

Server with recording storage will be necessary to start record manually on production.

Recordings from your clients machines will be saved at the server, and will wait for your attention.

You will find a detailed tutorial on how to configure your server at RevDeBug docs.   

4. Download the recording from server to find out how your application runs on production.

RevDeBug recordings contain everything what happens at your application. Every exception, every value, every call of every method from every line of your code. At the beginning it might be challenging for you to navigate through this data, that’s why RevDeBug provides you with tools that make everything a lot simpler.

How to navigate through RevDeBug recordings?

Navigation bar

You could investigate your recording step by step using the navigation bar. It will pinpoint the places in the code which were called while the application was running.

Travel in code using navigation bar
Expand particular events on timeline to dive into details

Timeline

Timeline displays a list of events in the chronological order.

Take a closer look into every thread of your application

RevDebug allows you also to record multithreaded applications. This tool separating them, to give you better understanding on what happening at your application.

Trace each individual thread of your application with the thread viewer.

Search

RevDebug is equipped with its own search engine. It searches through the recording: values, methods and exceptions. You may also apply some filters, which allows you to sight handled or unhandled exceptions or take a closer look into specific period of recording time.

Searching in recordings is quite intuitive. You may use C# syntax.

Learn more about RevDebug

RevDebug is an advanced reverse debugging programming tool. To learn all of its functions please see our other articles:


Alice Gajos

By training production engineer, at heart .net programmer. Currently technology advocate at RevDeBug.