Interne Fehler beheben (C++)

Aus RAD Studio (Deutsch)
Wechseln zu: Navigation, Suche

Nach oben zu Anwendungen debuggen - Index

Inhaltsverzeichnis

Interne Compiler-Fehler

Es gibt drei Arten von Fehlern, die der C++-Compiler erzeugt und die als interne Compiler-Fehler eingestuft werden:

F1001 [C++ Schwerer Fehler] <Dateiname>(<Zeile>): F1001 Interner Verarbeitungsfehler im Code-Generator

F1004 [C++ Schwerer Fehler] <Dateiname>(<Zeile>): F1004 Interner Compiler-Fehler

Interner Backend-Fehler Fehlercode

Alle drei Fehlerarten resultieren aus Fehlern im Compiler. Die Elemente <Dateiname> und <Zeile> geben die Stelle im Quelltext an, die der Compiler vor dem Fehler analysiert hat. Sie können evtl. die Ursache des Problems angeben. Das Element <Fehlercode> ist eine spezifische Information, die Compiler-Entwicklern mitteilt, was der Compiler auszuführen versuchte, als der Fehler auftrat.

Vorgehen bei internen Compiler-Fehlern

  1. Denken Sie daran, dass Ihr Quelltext nicht wirklich fehlerhaft sein muss.
  2. Versuchen Sie, ein neues, bereinigtes Build auszuführen.
  3. Versuchen Sie, ein Befehlszeilen-Build auszuführen.
  4. Analysieren Sie den Quelltext, um das Problem einzugrenzen.
  5. Senden Sie einen Fehlerbericht.

So führen Sie ein neues, bereinigtes Build aus:

  1. Klicken Sie das Projekt in der Projektverwaltung mit der rechten Maustaste an, und wählen Sie Bereinigen.
  2. Überprüfen Sie die Verzeichnisstruktur, um sicherzustellen, dass dem Projekt keine .obj- .tds- .dcu- .#*- .pch- und .csm-Dateien zugeordnet sind.
  3. Wählen Sie Erzeugen aus dem Menü Projekt.

So führen Sie ein Befehlszeilen-Build aus:

  1. Sie können die Befehlszeile des Compilers aus der Registerseite Ausgabe des Fensters Meldungen kopieren und diesen Befehl an der Eingabeaufforderung verwenden oder ...
  2. Wählen Sie Rad Studio-Befehlszeile aus dem Startmenü, und geben Sie dann "msbuild ihrprojekt.cbproj" ein.

So analysieren Sie den Quelltext:

Wenn das Problem weder durch ein bereinigtes Build noch durch ein Befehlszeilen-Build behoben wurde, sollten Sie den Quelltext analysieren, um das Problem einzugrenzen.

  1. Verarbeiten Sie die in der Fehlermeldung angegebene Datei vor. Klicken Sie dazu entweder die Datei in der Projektverwaltung mit der rechten Maustaste an, und wählen Sie Vorverarbeiten, oder wechseln Sie in die Befehlszeile, und ersetzen Sie in dem Befehl zum Compilieren der Datei den Compiler (bcc32.exe) durch den Präprozessor (cpp32.exe). Dadurch wird eine Datei ohne externe Abhängigkeiten für die Compilierung erzeugt, die möglicherweise sehr groß ist.
  2. Compilieren Sie die vorverarbeitete Datei mit der Option -P. Wenn das ausreicht, um das Problem zu reproduzieren, können Sie direkt mit Schritt 4 fortfahren.
  3. Wenn die .i-Datei korrekt compiliert wird, ist wahrscheinlich eine weitere Option erforderlich, um das Problem zu reproduzieren. Compilieren Sie die .i-Datei erneut, und fügen Sie nacheinander alle Optionen hinzu, die Sie für das ursprüngliche Befehlszeilen-Build verwendet haben, bis Sie feststellen können, welche Optionen zum Reproduzieren des Problems erforderlich sind.
  4. Diese Information ist ausreichend, um einen Fehlerbericht zu senden. Wenn Sie das Problem nicht weiter eingrenzen möchten, fahren Sie bitte mit der Anleitung zum Senden eines Fehlerberichtes fort.
  5. Sie können alles nach der Zeile, in der der Fehler auftritt, und alle Kommentare löschen.
  6. Beginnen Sie damit, Funktionsrümpfe und andere Codebereiche auszukommentieren, die höchstwahrscheinlich nichts mit dem Problem zu tun haben.
  7. Wenn Sie Bereiche identifizieren, die zum Reproduzieren des Problems nicht erforderlich sind, können Sie diese Abschnitte aus der .i-Datei löschen.
  8. Wenn Sie die für das Problem nötigen Elemente eingegrenzt haben, können Sie einen Fehlerbericht senden und den verwendeten Konstrukttyp analysieren, mit dem eine Lösung gefunden werden sollte.

So senden Sie einen Fehlerbericht:

  1. Wählen Sie in der IDE aus dem Menü Tools die Option Quality Central.
  2. Klicken Sie auf die Schaltfläche +, um einen neuen Bericht anzulegen.
  3. Wählen Sie C++Builder als Projekt.
  4. Wählen Sie Compiler/C++ als Bereich.
  5. Geben Sie die zum Reproduzieren des Fehlers erforderliche Befehlszeile in die Fehlerschritte ein.
  6. Hängen Sie die .i-Datei an.
  7. Klicken Sie auf das Häkchen, um den Bericht zu speichern.
In anderen Sprachen