# Diagnostics

## NuGet Package Details

Package Name  
[Llamachant.ExpressApp.Diagnostics](https://www.nuget.org/packages/Llamachant.ExpressApp.Diagnostics)

## Overview

The Diagnostics Module provides tools to help identify and resolve issues in your XAF application during development or in production. Its primary feature, Controller Management, allows you to remotely view, enable, or disable any controller in the application at runtime.

This is especially useful for diagnosing behavior conflicts, UI issues, or performance problems that might stem from custom or third-party controllers. Instead of modifying code and redeploying, you can quickly isolate and test the impact of individual controllers.

## Installation

### Step 1: Install the Module

```
Install-Package 'Llamachant.ExpressApp.Diagnostics'
```

### Step 2: Register the Module

```
services.AddXaf(Configuration, builder => {
    builder.UseApplication<ExpressAppBlazorApplication>();
    builder.Modules
       .AddLlamachantFrameworkDiagnosticsModule(options =>
        {
            options.EnableControllerManagement = true;
        });
});
```

## Controller Management

The main feature of this module is the **Show Controller Settings** action. This action lives in the Tools container and enables viewing, enabling, and disabling all controllers in your application.

Key features include:

- Enabling and disabling each controller
- Enable and disable all custom controllers with a single button
- Groups controllers by origin (e.g. DevExpress vs Custom)

Controller Management Example

[Conditional Appearance (Data Driven)](/content/docs/Llamachant.ExpressApp.ConditionalAppearance)

[Drag / Drop (Blazor)](/content/docs/Llamachant.ExpressApp.DragDrop.Blazor)
