2009-03-05 11 views
0

Ich weiß, dass dieses Thema in den Tod auf News-Gruppen durchgeführt wurde, und es gibt Forum-Beiträge für Afrika - aber ich die Möglichkeit, Sie Experten auf Stack-Überlauf wollte :)VB6 App verschwindet spurlos: Wird der Wechsel zwischen PCode und Native Code einen Unterschied machen?

Unsere VB6 app verschwindet gelegentlich nur während der Benutzer Dinge tun und gibt keine Art von Fehler noch ist es in der Fehlerprotokoll des PCs!

Ich frage mich, ob jemand schon einmal davon auf VB6 gehört hat und was Sie getan haben, um es zu beheben?

Ich dachte, vielleicht könnte die Änderung des gesamten Codes von nativem Code zu pcode größere Stabilität bieten?


Zusätzliche Informationen:

  • Wir verwenden Mdac 2.8
  • wahre DB Grid 6.0e

Notizen Änderungen hinzugefügt:

  • Unsere Anwendung ist sehr groß mit 113 separaten Komponenten und 120MB kompilierte Siz e (das ist ohne eingebettete Bilder oder irgendetwas)
  • Unsere Präsentationsebene erstellt die Objekte im laufenden Betrieb, so dass alles spät gebunden ist.
  • Ich interessiere mich nicht wirklich für die lokale Leistung der VB6 App, da es wirklich keine ernsthafte Verarbeitung so weit wie ich sehe, die Leistung vollständig durch unsere Oracle-Datenbank im Rechenzentrum 80 Meilen von 300 Nutzer - Albtraum!
+0

>> aber ich wollte die Möglichkeit, Sie Experten auf Stapel Austausch :) Wahrscheinlich gemischt u up „Experts Austausch und Stack-Überlauf !! – goldenmean

+0

ich, dass in der Eile der Eingabe genau wie meine Fahrt das Büro verläßt - so Expertenaustausch poppte in meinem Kopf - mein Schlechter :) – Davinchio

Antwort

1

Es macht einen Unterschied. Aber nicht zugunsten des einen oder anderen. Da zwei Methoden nicht genau gleich sind, können sie mit Randfällen unterschiedliche Ergebnisse liefern.

Verstehen Sie auch, dass das Problem, das ich beschreibe, Compiler-Probleme sind, keine Fehler auf Seiten des Programmierers. Sie wollen also wirklich sicherstellen, dass dies das Problem ist. Wir überprüfen dies, indem wir Änderungen mit der letzten bekannten guten Version vergleichen.

Das Problem, das wir bekamen, ist, dass für einige unserer größeren Projekte eine kleine Änderung im Code Fehler verursacht (oder die App einfach verschwindet). Dies passiert, wenn die Binärdatei verwendet wird.

Wenn diese seltenen Umstände auftreten, können Sie die Codezeilen nur neu anordnen oder Dummy-Zeilen wie i = i einfügen. Alles, was den Compiler zwingt, eine andere Sequenz von Assembly oder Code zu senden. Dann geht das Problem weg.

Es gab ein paar Fälle, in denen wir dies tun, erfolgreich kompilieren, zurück ändern und erfolgreich zurück kompilieren. Was wir in diesem Fall denken, ist, dass sich die Registrierung so stark verändert, dass ein etwas anderer Binärcode/pcode ausgegeben werden muss.

Sie können auch Ihre Registrierung und Ihren lokalen Temp-Ordner reinigen.

Meine Erfahrung ist, dass dies einmal alle 1000 bis 500 Compiles eines großen Projekts mit mehreren Referenzen passieren kann.

Als ein persönlicher Kommentar, wenn dies auftritt, sind die Ursache und Lösung sinnlos und macht mich Lust, die Voodoo-Puppe auszubrechen und einen Regentanz zu machen.