Aktuelle MFC42.dll
-
Hallo,
ich habe eine Anwendung geschrieben, die nach ca. 17 Std +- 5 Stunden auf einem Windwos Server folgenden Speicherfehler verursacht:
Fehlgeschlagene Anwendung OPCCom.exe, Version 1.0.0.3, fehlgeschlagenes Modul mfc42.dll, Version 6.6.8063.0, Fehleradresse 0x00085800.
Auf meiner XP-Kiste läuft die Andwendung Einwandfrei. Kann mir jemand sagen wo ich die aktuelle Version herbekomme und welche Klassen in ihr enthalten sind?
Danke und Gruß
-
mfc42.dll ist nicht aktuell, aktuell wäre was mit 80 statt 42.

Die 42er Dll ist beim VC6 dabei.
-
die Datei heißt das dann zum Beispiel mfc80.dll?
Wie kann ich denn dann die mfc42.dll mit der mfc80.dll ersetzen? Oder habe ich das jetzt falsch verstanden
-
visionz2304 schrieb:
die Datei heißt das dann zum Beispiel mfc80.dll?
Wie kann ich denn dann die mfc42.dll mit der mfc80.dll ersetzen? Oder habe ich das jetzt falsch verstanden
Nein, ich glaube einfach ersetzen geht nicht.
Ich wollte nur zeigen, dass mfc42.dll und aktuell der Widerspruch in sich ist.
Du könntest gucken, ob du bei Microsoft eine alte VC Redist zum Download findest.
Oder mal deine Festplatte(n) durchsuchen, die könnte bei anderen Programmen dabei gewesen sein.
Ich habe gerade eine bei Nero im Verzeichnis entdeckt, nur die Version ist eine 6.0.??? passt also nicht exakt.
-
Ich habe die mfc42.dll die dort zum Absturz führt! Die könnte statisch eingebunden werden??!!
Wie kann ich denn die Klassen die in der mfc42.dll entalten sind herausfinden? Dann könnte ich gucken welche ich von denen verwendet und evtl im Sourcecode etwas ändern.
-
1. Der Fehler liegt mit Sicherheitnicht in der MFC42.DLL, dort knallt es nur.
Es gibt keine bekannten Fehler in der MFC42 dir einen Crash verursachen. Der Fehlerliegt in Deinem Code. Das ganze läuft nur deshalb unter XP weil das evtl. ein anderes Speicher-Handling hat.
Teste Deine Applikation mal mit dem Application Verifier und Du wirst Dein blaues Wunder erleben.
Suche den Fehlernnicht in der MFC42.DLL sondern bei Dir!
2. Statisches Linken macht Dich unabhängig von den MFC DLL's! Dann ist diese Datei gar nicht mehr nötig.
-
visionz2304 schrieb:
Wie kann ich denn dann die mfc42.dll mit der mfc80.dll ersetzen?
Du kannst sie "ersetzen" indem Du Dein Projekt mit VS2005 übersetzt

Wenn Du eine "aktuelle" mfc42.dll haben willst musst Du das letzte Service-Pack für VC6 installieren (6?). Dort ist sie dann dabei.
-
hi Martin,
ok das ist ein gute Idee. Nur ich muss versuchen den Fehler einzugrenzen. Das heißt ich müsste schauen welche Klassen ich aus der MFC verwende und dann dort in meinem Quellcode nach dem Fehler suchen. Nur ich finde die in der MFC enthaltenen Klassen einfache nicht. Habe schon bei Google gesucht, nix gefunden
-
visionz2304 schrieb:
Nur ich finde die in der MFC enthaltenen Klassen einfache nicht. Habe schon bei Google gesucht, nix gefunden
Du scheinst das ja wirklich erst zu meinen.

Die Klassen der MFC findest du da.
-
super genaus das habe ich gesucht

danke
-
visionz2304 schrieb:
hi Martin,
ok das ist ein gute Idee. Nur ich muss versuchen den Fehler einzugrenzen. Das heißt ich müsste schauen welche Klassen ich aus der MFC verwende und dann dort in meinem Quellcode nach dem Fehler suchen. Nur ich finde die in der MFC enthaltenen Klassen einfache nicht. Habe schon bei Google gesucht, nix gefunden
Warum debuggst Du nicht einfach Deinen Absturz??? MiniDump oder direkt im Debugger?
-
Sehe ich genauso wie Jochen!
Ich wette mit Dir, dass Du einen Speicherbereich überschreibst...

-
Das "nicht debuggen" liegt bestimmt daran:
visionz2304 schrieb:
...nach ca. 17 Std +- 5 Stunden auf einem Windwos Server folgenden Speicherfehler verursacht...
...Auf meiner XP-Kiste läuft die Andwendung Einwandfrei...Ist der hier:
visionz2304 schrieb:
...Fehleradresse 0x00085800...
zufällig wieder diese Fehlermeldung?
http://www.chip.de/c1_forum/thread.html?bwthreadid=797248
http://www.chip.de/forum/thread.html?bwthreadid=655893&PHPSESSID=ff739c717d8192e5a5fd4fbb65321148
-
Einfach den Application Verifier mit den Basic Test an die Applikation anschließen. Wenn die kleinste Speicherungereimtheit, drin ist, fliegt einem Sofort die Applikation um die Ohren.
Zum Testen ideal!
-
Martin Richter schrieb:
Einfach den Application Verifier mit den Basic Test an die Applikation anschließen. Wenn die kleinste Speicherungereimtheit, drin ist, fliegt einem Sofort die Applikation um die Ohren.
Zum Testen ideal!
Klingt ja interessant... ich wollte es gerade mal spaßeshalber auf meine Anwendung ansetzen, leider spielt Microsoft da nicht mehr mit: Man muss mind. Win XP haben. (Ich habe nur 2000 Pro.)
Aber wer nicht lange suchen will, hier gehts zum Downloaden: http://www.microsoft.com/downloads/details.aspx?familyid=BD02C19C-1250-433C-8C1B-2619BD93B3A2&displaylang=en#filelist
-
Hmm.. den aktuellen gibt es wohl hier:
http://www.microsoft.com/downloads/details.aspx?FamilyID=d2dd7ee0-aaa2-402a-821d-43795d6cf139&DisplayLang=en
-
Kann man das auch bei einem Kunden laufen lassen, der mysteriöse, nicht nachvollziehbare Abstürze hat?
-
Das ist ein freies Tool. Nurbenötigt man dann einen Debugger der angeschlossen ist.
Und ohne pdb Dateien nützt das auch nichts. Es ist wirklich nur etwas für die Qualitätsicherung, aber es macht einen auf alle geradenoch funktionierenden schmutzigen Sachen aufmerksam.