Skip to main content

Overview

The Remove Analysis features allow you to clean up and remove analysis data that xAnalyzer has added to your code. This is useful when you want to re-analyze code with different settings, remove outdated analysis, or simply start fresh.
Removing analysis does not affect the actual code or executable - it only removes the comments, labels, and other annotations that xAnalyzer added during analysis.

Available Removal Options

xAnalyzer provides three removal scopes that mirror the analysis options:

Remove Analysis from Selection

Removes analysis data only from the currently selected instructions in the disassembly window.

Remove Analysis from Function

Removes all analysis data from the entire function containing your current instruction.

Remove Analysis from Module

Removes all analysis data from the entire module, clearing all xAnalyzer comments and labels.

How to Remove Analysis Data

Using the Context Menu

1

Select your scope

Depending on what you want to remove:
  • For selection removal: Select the instructions you want to clean
  • For function removal: Click any instruction within the function
  • For module removal: Click anywhere in the module
2

Open context menu

Right-click to open the context menu in the disassembly window.
3

Choose remove option

Navigate to PluginsxAnalyzerRemove Analysis, then select:
  • Remove Analysis from Selection
  • Remove Analysis from Function
  • Remove Analysis from Module
4

Confirm removal

The analysis data will be removed immediately. Check the log window for confirmation.

Using Commands

You can use the x64dbg command line to remove analysis data:
# Remove analysis from selection
xanalremove selection

# Remove analysis from function
xanalremove function

# Remove analysis from module
xanalremove module
Commands can be useful when scripting or automating your analysis workflow.

Using Hotkeys

Set up keyboard shortcuts for faster access:
1

Open shortcuts settings

Go to OptionsPreferencesShortcuts in x64dbg.
2

Find remove commands

Search for the xAnalyzer remove analysis commands.
3

Assign hotkeys

Set your preferred keyboard shortcuts for each removal option.
4

Apply and use

Save the settings and use your hotkeys to quickly remove analysis.

What Gets Removed

When you remove analysis, xAnalyzer cleans up:

Auto Comments

  • Function argument descriptions
  • API call prototypes
  • Data type information
  • Parameter values and names
  • Loop markers and labels

Auto Labels

  • Loop entry/exit labels
  • Function call labels
  • Data reference labels
  • Jump destination labels

Clear Behavior

The removal respects your configuration settings: Clear Auto Comments: When enabled, removes all automatic comments added by xAnalyzer. Clear Auto Labels: When enabled, removes all automatic labels added by xAnalyzer. Clear User Comments: When enabled, also removes user-added comments (use with caution!). Clear User Labels: When enabled, also removes user-added labels (use with caution!).
Be careful with the “Clear User” options! These will remove comments and labels that you manually added, not just xAnalyzer’s automatic additions.

Configuration Options

Configure what gets removed during cleanup:
1

Open xAnalyzer options

Navigate to PluginsxAnalyzerOptions.
2

Configure clear options

Toggle these options based on your needs:
  • Clear Auto Comments: Remove xAnalyzer’s automatic comments
  • Clear Auto Labels: Remove xAnalyzer’s automatic labels
  • Clear User Comments: Remove manually added comments (careful!)
  • Clear User Labels: Remove manually added labels (careful!)
3

Save settings

Settings are saved automatically and will be used for all subsequent removal operations.

Configuration Options

Learn more about xAnalyzer configuration settings

Example: Before and After Removal

Before removal (with xAnalyzer analysis):
push 0          ; uType = MB_OK
push 403000     ; lpCaption = "Error"
push 403010     ; lpText = "An error occurred"
push 0          ; hWnd = NULL
call <user32.MessageBoxA>  ; MessageBoxA(hWnd, lpText, lpCaption, uType)
test eax, eax               ; Check return value
jne short loc_401020        ; Jump if not zero
loc_401020:                 ; [LOOP END]
After removal:
push 0
push 403000
push 403010
push 0
call <user32.MessageBoxA>
test eax, eax
jne short loc_401020
loc_401020:
The code returns to its original state without xAnalyzer’s annotations.

Common Use Cases

Re-analyzing with Different Settings

1

Remove old analysis

Use Remove Analysis from Module to clear existing data.
2

Change settings

Adjust xAnalyzer configuration options (e.g., enable Analyze Undefined Functions).
3

Re-analyze

Run Analyze Module again with the new settings.

Cleaning Specific Functions

When you want to manually document a function but xAnalyzer’s comments are in the way:
1

Position cursor

Click on any instruction within the function.
2

Remove function analysis

Use Remove Analysis from Function.
3

Add manual comments

Add your own comments and labels without xAnalyzer’s automatic additions.

Selective Cleanup

For partial cleanup of a selection:
1

Select instructions

Highlight the specific instructions you want to clean.
2

Remove selection analysis

Use Remove Analysis from Selection.
3

Keep surrounding analysis

The rest of your analysis data remains intact.

Best Practices

Save your work before removing: If you’ve done extensive manual documentation alongside xAnalyzer’s analysis, consider saving your x64dbg database before removing analysis data.
Test with selection first: When unsure about what will be removed, test with Remove Analysis from Selection on a small section first before removing from an entire function or module.
Configure clear options carefully: Review the clear options in xAnalyzer settings before performing large-scale removals to ensure you don’t accidentally delete your own comments or labels. Use removal before re-analysis: When changing xAnalyzer settings significantly, remove the old analysis first to avoid confusion from overlapping or conflicting annotations. Check the log: After removal, check the x64dbg log window for confirmation messages and any warnings about what was removed.

Removal vs. Re-analysis

  • Changing major configuration options (e.g., enabling Extended Analysis)
  • Switching between defined and undefined function analysis
  • Starting a fresh analysis session
  • Creating manual documentation
  • Minor setting adjustments
  • When “Clear Auto Comments/Labels” options are enabled
  • Quick iterative analysis during debugging
  • When you want to preserve some existing annotations

Limitations

Removal operations cannot be undone. Make sure to save your x64dbg database before removing analysis if you might want to restore it later.
Database impact: Removal affects the current session and will be saved if you save the x64dbg database. Reload the database to restore removed analysis from a previous save. User data protection: When “Clear User Comments/Labels” options are disabled (default), your manual annotations are preserved during removal. Nested data: Some complex analysis patterns may leave residual markers if removal is interrupted or encounters errors.

Analyze Selection

Analyze selected instructions

Analyze Function

Analyze an entire function

Analyze Module

Analyze the entire module

Commands Reference

View all xAnalyzer commands

Build docs developers (and LLMs) love