Using the GUI
With the Debugging Check, Dotfuscator injects code that detects the use of a managed debugger at runtime.
In the output assemblies, whenever a method that was annotated with
DebuggingCheckAttribute is called, the injected code will first check if a managed debugger is attached to the application and, if configured, notify the application code of the result.
If the Check detected a debugger, it will transmit Check Telemetry and perform a Check Action, if these are configured.
Dotfuscator Community Edition (Dotfuscator CE) can inject Debugging Checks into all .NET assemblies except for the following:
.dllassemblies (this restriction does not exist in the Professional Edition)
To test how the Debugging Checks injected into your application react to a debugger's presence, run the modified application and attach to it with a debugger, such as Visual Studio or MDbg.
When a method that was annotated with
DebuggingCheckAttribute is called by the application, the Debugging Check will activate.