Whilst using RevDeBug only on your machine is useful, the true potential is in distributing RevDeBug compiled application to your testers and maybe clients, so if error occurs, you will just receive recording and you won’t have to try and replicate bug in your environment.
There are two steps that must be done if you want your build server to build with RevDeBug.
First, install RevDeBug on your server.
If your build server have Visual Studio installed, this step is easy - just install RevDeBug from revdebug-installer.exe
If you don’t have Visual Studio on your server you need to copy RDB compiler from your machine, where RevDeBug is already installed to build machine.
To locate compiler on your machine open Visual Studio, expand RevDeBug menu go to advanced and click Open RevDeBug Compiler directory. You should now be in directory with compiler binaries. copy the whole folder to any place on your build machine. You will need the path to compiler in next step.
Another file that needs to be copied is RevDeBug.ImportAfter.targets
It is the file that modifies build process, if RevDeBug is active.
You can find it on your machine with RevDeBug in C:\ProgramData\RevDeBug\MsBuild
directory. You should copy it to your build server to
C:\Program Files (x86)\MSBuild\YourMsBuildVersion\Microsoft.Common.Targets\ImportAfter
Second, open csproj file of the project that you want to build with RevDeBug and add following MsBuild property group that will modify build process.
RevDeBugActive tells MsBuild, that you want to build application with RevDeBug.
RevDeBugStateStorageType Binary tells RevDeBug that you want to save your recording to the file on disk.
RevDeBugCompilerPath specifies the path to compiler on your machine. The easiest way to find it is to open Visual Studio, expand RevDeBug menu go to advanced and click Open RevDeBug Compiler directory.
Optional property, that you can add is RevDeBugStatesFileDestinationPath. With this you can specify where your recording will be saved.
Remember however, that user running application should have permissions to that path.
You must set that property and change default path, if your app is running on IIS, since any changes in website directory will reset its Application pool.
After this steps your server will build selected applications with RevDeBug.
To turn off building with RevDeBug you can remove added properties, or just set RevDeBugActive to false.
Important thing to remember is that with each build RDBMetadata file will be generated in output directory of your project. This file is needed to review recordings, that will be generated with this version of application.
voilà, now your testers can give you not only description of an error but recording with it.
If you have recording that you want to send to someone, he will need three things.
Since recording application all the time may be space consuming, you can decide when application states should be written to disk.
To turn off recording go to your application directory and open RevDeBug.setup file. First line should be
Change it to
and restart your application. Now RevDeBug won’t record anything.
If you want RevDeBug to start recording again just revert your change in setup file and restart application.
Additionally you can use the RevDeBug Remote Rec batch scripts, that are automatically added to your application output directory:
Those scripts will modify the RevDeBug.setup file, so you still must restart your application to apply changes.