Repository navigation
How to Capture & Report Windows Crashes
When Command & Conquer: Generals or Zero Hour (GeneralsX) unexpectedly quits, freezes on launch, or crashes with an unhandled exception (such as Access Violation 0xC0000005), Windows provides multiple diagnostic mechanisms to capture the root cause.
This guide explains how to capture real-time terminal logs, inspect engine error logs, configure Windows Error Reporting (WER) to capture crash dumps (.dmp), inspect Event Viewer logs, and submit an actionable bug report to the development team.
When launched normally by double-clicking the executable or a desktop shortcut, standard console output (stdout) and error streams (stderr) are not visible in Windows. Running the game from PowerShell with stream redirection allows you to see startup diagnostics and write them to a log file simultaneously.
- Navigate to your GeneralsX game directory in File Explorer.
- Hold
Shift, right-click in an empty space of the folder, and select Open PowerShell window here (or Open in Terminal on Windows 11).
Launch the executable in windowed mode (-win) and redirect all output streams (*>&1) to Tee-Object:
# For Zero Hour:
.\GeneralsXZH.exe -win *>&1 | Tee-Object -FilePath "generalsx.log"
# For the base game:
.\GeneralsX.exe -win *>&1 | Tee-Object -FilePath "generalsx.log"Tip
The -win flag forces the game into windowed mode. This prevents full-screen display mode locks if the game hangs or crashes on startup, allowing you to easily read the console output.
Inspect generalsx.log or the console output for:
- Missing big archives (e.g.,
INIZH.big,SpeechZH.big,Textures.big). - INI parsing errors or missing audio/shader files.
- Initialization errors in SDL3 or the rendering backend.
When the game engine's internal exception handler intercepts a crash, it generates a text log file containing the call stack and register state:
Look for ReleaseCrashInfo.txt in:
-
The Game Directory: Next to
GeneralsXZH.exe. -
User Data Directory:
- Zero Hour:
%USERPROFILE%\Documents\Command and Conquer Generals Zero Hour Data\ - Base Game:
%USERPROFILE%\Documents\Command and Conquer Generals Data\
- Zero Hour:
If present, this file contains the CPU instruction pointer, register dump, and the function stack at the exact moment of failure.
If the game crashes with a hard fault (e.g., stack overflow, access violation, or heap corruption) that terminates before the engine handler can catch it, you can configure Windows Error Reporting to automatically generate a MiniDump or Full Memory Dump (.dmp).
- Open PowerShell as Administrator (Right-click Start menu → Windows PowerShell (Admin) or Terminal (Admin)).
- Run the following commands to configure Windows to save crash dumps to
C:\Dumps:
# Create the dump directory
New-Item -ItemType Directory -Path "C:\Dumps" -Force
# Configure LocalDumps for Zero Hour (GeneralsXZH.exe)
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsXZH.exe" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsXZH.exe" -Name "DumpFolder" -Value "C:\Dumps" -PropertyType ExpandString -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsXZH.exe" -Name "DumpType" -Value 2 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsXZH.exe" -Name "DumpCount" -Value 10 -PropertyType DWord -Force
# (Optional) Configure LocalDumps for the Base Game (GeneralsX.exe)
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsX.exe" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsX.exe" -Name "DumpFolder" -Value "C:\Dumps" -PropertyType ExpandString -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsX.exe" -Name "DumpType" -Value 2 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsX.exe" -Name "DumpCount" -Value 10 -PropertyType DWord -Force-
DumpType = 2: Creates a Full Dump (includes complete process memory). This provides developers with full inspection capabilities (variable states, heap, stack). -
DumpType = 1: Creates a MiniDump (only call stacks, registers, and loaded modules). Significantly smaller file size. -
DumpCount = 10: Retains up to the last 10 crash dump files before overwriting older ones.
Launch the game and perform the steps that trigger the crash. Once the game closes, Windows will automatically write the crash dump to:
C:\Dumps\GeneralsXZH.exe.<pid>.dmp
Important
Full dumps (DumpType = 2) can be several hundred megabytes in size. Always compress .dmp files into a .zip archive before uploading or sharing them with developers.
Once you have collected the required dumps, you can remove the registry keys:
# Remove Zero Hour dump configuration
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsXZH.exe" -Recurse -Force
# Remove Base Game dump configuration
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\GeneralsX.exe" -Recurse -ForceWindows automatically records application crash events in the System Application Log.
Run this command in PowerShell to query the last 5 application crashes:
Get-WinEvent -FilterHashtable @{LogName='Application'; ProviderName='Application Error'} -MaxEvents 5 | Format-List TimeCreated, Message- Press
Win + R, typeeventvwr.msc, and press Enter. - In the left tree, navigate to Windows Logs → Application.
- In the right panel, click Filter Current Log....
- Set Event level to Error and Event sources to Application Error, then click OK.
- Look for entries where the Faulting application name is
GeneralsXZH.exeorGeneralsX.exe. - Copy the event details, especially:
-
Faulting module name (e.g.,
GeneralsXZH.exe,d3d8.dll,ntdll.dll,OpenAL32.dll) -
Exception code (e.g.,
0xc0000005for Access Violation) -
Fault offset (e.g.,
0x0014a2b0)
-
Faulting module name (e.g.,
Depending on your build configuration, GeneralsX on Windows may use DXVK (Direct3D 8/9 to Vulkan translation) or native D3D:
-
DXVK Logs: If your build uses DXVK, check the game directory for:
-
GeneralsXZH_d3d8.logord3d8.log -
GeneralsXZH_d3d9.logord3d9.log
-
- GPU Drivers: Make sure your graphics card drivers are up to date. If using Vulkan translation, verify that your GPU supports Vulkan 1.3.
When reporting a crash or launch issue on GitHub:
-
Title: Include platform and symptom (e.g.,
[Windows] Crash on startup after splash videoor[Windows] Crash when detonating Particle Uplink Cannon). -
Environment Information:
- OS: Windows 10 / Windows 11 (build version, e.g., 23H2)
- GPU & Driver: e.g., NVIDIA GeForce RTX 3070 (Driver 560.xx) / AMD Radeon RX 6800
- Binary Version: Commit hash or release version
-
Logs and Event Details:
<details> <summary>Event Viewer / Terminal Log (generalsx.log)</summary> ```text PASTE_LOG_CONTENT_HERE ``` </details>
-
Crash Dump or ReleaseCrashInfo.txt:
- Attach
ReleaseCrashInfo.txtdirectly to the issue. - For
.dmpfiles, zip the dump file and attach it (or upload to a secure file host if larger than GitHub's attachment limit).
- Attach