Programm läuft in VS.Net Umgebung, aber nicht als stand-alone
-
Hallo,
ich habe folgendes Problem:
mein Programm läuft, wenn ich es aus der Visual Studio.Net Umgebung heraus starte, völlig problemlos und produziert richtige Ergebnisse. Und zwar sowohl mit einem Debug- als auch mit einem Release-Build.
Wenn ich die erzeugte .exe-Datei aber außerhalb der Umgebung durch Doppelklick starte, läuft das Programm zwar ohne Absturz, produziert aber völlig falsche Ergebnisse. Es sieht so aus, als wären irgendwelche Variablen auf einmal nicht mehr richtig initialisiert.Folgende Fragen also:
- Hatte schonmal jemand ein ähnliches Problem?
- Kann mir jemand sagen, was genau VS beim Starten aus der Umgebung heraus (z.B. mit F5) anders macht, als wenn ich das Programm direkt starte?
Herzlichen Dank für Eure Antworten!
p.s.: ich benutze visual c++ .Net 7 unter WinXP Pro
-
Du verwendest sehr wahrscheinlich Stack-Variablen. Zeig mal deinen Code,
anders ist es nur raten.Gruss
EB
-
Sind die Variablen denn auch initialisiert?
Sonst könnte ich mir vorstellen, dass dein Programm an einer anderen Speicherstelle rumliegt, wenn es nicht aus VS geladen wird, und die Variablen im anderen Fall nur zufällig mit passenden Werten initialisiert werden.
-
EB schrieb:
Du verwendest sehr wahrscheinlich Stack-Variablen. Zeig mal deinen Code,
anders ist es nur raten.Gruss
EBHmm, eigentlich natürlich ein guter Tipp, aber leider ist das Programm mittlerweile einige tausend Zeilen lang, und ich habe leider keinen Schimmer, wo es hakt, zumal es ja erstmal ganz normal funktioniert...
Aber was sind denn genau Stack-Variablen? Die ganz normalen, die nicht mit static deklariert sind?
-
Naja, wie gesagt ist es ohne etwas Quelltext schwierig. Aber du kannst ja mal
die Compiler-Warning in der Projekteinstellung auf Stufe 4 stellen und dann
einen ReBuild (komplett neu erstellen) ausführen und schauen, ob er was zu
Meckern hat.
-
Hallo nochmal,
habe endlich den Fehler gefunden - Ihr hattet recht, da war tatsächlich eine Variable versteckt, die nicht initialisiert wurde und daher irgendwelche Fabelwerte hatte. Schlampig programmiert, also mein Fehler, würde ich sagen
Danke nochmal für die Hilfe,
Gruß Kuddel