Ich habe eine Quelldatei in meinem Projekt, die mehr als 65.536 Code-Zeilen (112.444 um genau zu sein). Ich verwende eine "sqlite-Verschmelzung", die in einer einzigen großen Quelldatei enthalten ist.riesige C-Datei Debugging-Problem
Ich benutze MSVC 2005. Die Probleme kommen während des Debuggens. Alles kompiliert und verlinkt ok. Aber dann, wenn ich versuche, mit dem Debugger in eine Funktion zu treten - es zeigt eine falsche Codezeile.
Interessant ist, dass der Unterschied zwischen der richtigen Zeilennummer und dem, den der Debugger zeigt, genau 65536 ist. Dies lässt mich vermuten (fast sicher) einige unsigned kurzen Überlauf.
Ich vermute auch, dass es kein Fehler in der MSVC selbst ist. Vielleicht ist es die Begrenzung des Debug-Informationsformats. Das heißt, das von MSVC verwendete Debug-Informationsformat speichert die Zeilennummern als 2-Byte-Kurzschlüsse.
Kann man etwas dagegen tun (abgesehen davon, die riesige Datei in mehrere kleinere zu schneiden)?
warum debug die sqlite Verschmelzung? sqlite hat eine richtige Verteilung, die viele separate Dateien enthält. –
Wenn es nicht kaputt ist, fusionieren Sie es nicht. –