Selective recording

In this section of the tutorial you will be able to get familiar with the RevDeBug core features

Estimated reading time: 2-5 minutes

By default, RevDeBug parses and processes all of the available code within a project. Whitelisting allows you to choose particular parts of your code. This means - if you enable whitelisting, anything that is not whitelisted, will not be recorded.

Whitelisting
To enable RevDeBug Whitelist, you must add a reference to the RevDeBug.Config library in your project. You can find it by opening RevDeBug Compiler directory. It is easily accessed through the RevDeBug Menu (RevDeBug > Advanced > Open RevDeBug Compiler directory).

800_menu_compiler_folder.png

800_menu_compiler_folder.png

RevDeBug.Config.dll provides access to RevDeBug.Config.Filter namespace, in which there are two attributes defined: * EnableWhitelistAttribute – assembly wide attribute, enables RevDeBug Whitelist. * WhitelistAttribute – can be used on declared types and methods (including properties and methods).

To enable RevDeBug Whitelist, you must first declare EnableWhitelist attribute within your project. The best place to do this is AssemblyInfo.cs created automatically by Visual Studio. You can find it in your project’s Properties node in Solution Explorer view. 801_assembly_info.png

Add this line of code, at the end of the file:

[assembly: RevDeBug.Config.Filter.EnableWhitelist]
802_whitelist1.png

802_whitelist1.png

Now you can add Whitelist attribute to any type or method declarator you want. Just write this line above something you want to whitelist:

[RevDeBug.Config.Filter.Whitelist]
Whitelisting elements

Whitelisting is inheritable, so if you whitelist a class, then all its methods and nested types will be whitelisted too. 803_whitelist2.png

Do not forget to compile the project using RevDeBug and run it to receive desirable states.

Disabling Whitelist mode

To temporarily disable the Whitelist mode, just comment or remove previously added RevDeBug attributes and recompile your project.

To completely remove Whitelist mode, follow these four steps: * Remove RevDeBug.Config.dll from project References * Delete line associated with RevDeBug from AssemblyInfo project file * Comment or remove all Whitelist attributes from classes and methods * Compile project using RevDeBug to record all states, or without to get regular output file ##### RDBIgnore RDBIgnore works adversely to Whitelist.

First, you have to create project_name.rdbignore file in your project's solution. 1501_create_rdbbuildignore.png

Next, open it's properties, and change the first one - Build Action - to AdditionalFiles. 901_property_rdbignore.png

Now you just have to write down the names or directories of any files or folders you do not want to record. Remember, that each record has to start from a new line. 902_write_rdbignore.png

Exclusion Rules

If you were ever worried, that RevDeBug will record some sensitive data, you shouldn’t be. With Exclusion Rules you can exclude anything you want.

You can define the rules per project, by creating a file called project_name.rdbbuildignore. You have to add it to your project’s solution. 1501_create_rdbbuildignore.png

Then open it’s properties and change the first one - Build Action - to AdditionalFiles. Now you can write rules for excluding your data. For example, if you do not want to record any important data like passwords, card numbers, etc. It is enough for you to write there the variable names. Like this:

password
pwd
cardNumber
secretkey

Notice, that every variable is written in a new line, without commas or semicolons. Be sure, that this file has such structure, otherwise it won’t exclude provided variables!

By project

If you want to add/remove RevDeBug from your project you need to go to Solution Explorer and click right mouse button on your project and choose add/remove RevDeBug 206_add_revdebug.png

You can also add/ remove RevDeBug from RevDeBug panel ->Status -> Current solution. 207_addremove_rdb.png


Didn't find what you were looking for?
Contact us at support@revdebug.com