Error 0xc0000005 — access violation, explained and fixed

This code is Windows’ memory police report: a program tried to read or write memory it doesn’t own (STATUS_ACCESS_VIOLATION). The program gets closed instead of being allowed to corrupt other things. Whether the fault is the program, its files, a driver, or the RAM itself depends on the pattern — one app only, or everything.

The fix, in order

  1. One program only? Reinstall or repair it. Corrupt program files are the top cause when a single app is affected. For Steam games: Properties → Installed Files → Verify integrity.
  2. Update the program and your graphics driver. Games in particular throw 0xc0000005 on driver mismatches after updates.
  3. Test the RAM with Windows Memory Diagnostic. If several unrelated programs throw this code, memory moves to the top of the list.
  4. Repair Windows files: admin prompt → DISM /Online /Cleanup-Image /RestoreHealth, then sfc /scannow — do this if Windows’ own apps or installers are affected.
  5. Scan for malware with Microsoft Defender (full scan). Memory-injecting malware causes access violations in its hosts.
  6. If it began after installing something, uninstall that thing — shell extensions, overlays, and mods inject code into other programs and crash them exactly like this.

If it still happens

Developers hitting this in their own program: the debugger is the answer — run under WinDbg or Visual Studio and the faulting address and call stack show the bad pointer directly. For everyone else, the pattern test decides: one app = that app; many apps = RAM, drivers, or Windows.

Common questions

Is 0xc0000005 a virus? It’s an error code, not a diagnosis. Malware can cause it, but corrupt installs and failing RAM are far more common.

What does “access violation” actually mean? Every program is fenced into its own memory. 0xc0000005 is the fence alarm: the program reached outside, so Windows shut it down before it could damage anything else.

Related errors

Error 0xc000007b — unable to start correctly · MEMORY_MANAGEMENT · .NET unhandled exception