Memory Bugs — die Klassiker
| Bug | Was | Sprache |
|---|---|---|
| Null Pointer Dereference | p ist NULL → Crash | C/C++/Java/Go |
| Use After Free | Pointer auf befreitem Speicher | C/C++ |
| Double Free | free zweimal | C/C++ |
| Buffer Overflow | schreibe über Array‑Grenze | C/C++ |
| Memory Leak | nie befreit | C/C++/Java (mit ref) |
| Dangling Reference | Pointer zeigt auf Stack‑Frame, der weg ist | C/C++ |
| Stack Overflow | zu tiefe Rekursion | alle |
| Race Condition | parallele Threads, ohne Lock | alle mit Threads |
Wie Sprachen das lösen:
- Java/C#/Go: GC entfernt Memory Leaks & Use‑After‑Free.
- Rust: Ownership‑System verhindert beides zur Compile‑Zeit.
- Swift: ARC (Automatic Reference Counting).
- Python: Reference Counting + Cycle Detector.
Zurück zu Informatik