CrashAnalizerSuite analyzes Windows crash dumps (.dmp) and supports prompt-based Q&A over crash data using a local LLM.
flowchart TD
subgraph CrashGenerator["CrashGenerator.Cpp (Native Crash Producer)"]
CG["Crash Generator App<br/>C++ / Win32"]
CG --> DMPFILE["CrashGenerator_*.dmp"]
end
subgraph App["CrashAnalyzer.WpfApp"]
UI[UI Layer]
SVC[WpfCrashAnalysisService / Shared service]
UI --> SVC
end
subgraph Core["CrashAnalyzer.Core"]
DP["DmpParser - CLRMD"]
RP["RagCrashAnalyzer"]
EC["EmbeddingClient"]
LC["LlmClient"]
VS["VectorStore (in-memory)"]
end
subgraph LLM["Ollama (Local Host)"]
O1[llama3.1]
O2[nomic-embed-text]
end
DMPFILE --> SVC
SVC --> DP
SVC --> RP
RP --> EC
RP --> LC
RP --> VS
EC --> O2
LC --> O1
From crashanalyzer.settings.json:
- LLM host/base URL:
http://localhost:11434 - LLM model:
llama3.1 - Embedding model:
nomic-embed-text - Timeout:
300seconds
GET /api/tags- health check / reachabilityPOST /api/generate- text generation for crash Q&APOST /api/embeddings- embedding generation for RAG retrieval
The app sends HTTP requests to Ollama at LlmBaseUrl.
Minimal C# endpoint connection examples:
using var http = new HttpClient { BaseAddress = new Uri(settings.LlmBaseUrl) };
using var health = await http.GetAsync("/api/tags");-
Install prerequisites:
- Visual Studio 2026 (18.x) with:
- .NET desktop workload
- Desktop development with C++
- .NET 10 SDK
- Ollama
- Visual Studio 2026 (18.x) with:
-
Pull required models:
ollama pull llama3.1 ollama pull nomic-embed-text
-
Start Ollama service:
ollama serve
-
Verify/update
crashanalyzer.settings.jsonin app output (or project) to match your environment:LlmBaseUrlLlmModelEmbeddingModelSymbolizerPath
- Open
CrashAnalizerSuite.slnxin Visual Studio. - Build solution (
Build > Build Solution). - Build and run CrashGenerator.Cpp in Debug|x64 to generate test artifacts:
.pdbfile from the Debug build.dmpfile generated after intentional crash (CrashGenerator_*.dmpin output folder)
- Analyze the dump using the app:
- Open
.dmp - Open matching
.pdb - Ask questions in the prompt area
- Open
- RAG vector storage is in-memory and resets between sessions.
- The default host is local Ollama (
localhost:11434); no cloud endpoint is required.
