WinRT originate error - 0x80040155
-
@Achromat sagte in WinRT originate error - 0x80040155:
GlobalFree(itemid); //free folder!
Ich habe es noch nicht ganz raus, aber scheinbar löst GlobalFree(itemid)
Schwerste Fehlerketten aus, in den MS Examples kommt GlobalFree(itemid)
nicht vor, es steht dort seit 25 Jahren im Code ..
-
@Quiche-Lorraine sagte in WinRT originate error - 0x80040155:
Probiere doch mal das Programm auf einen anderen Rechner aus.
Danke für deine Hilfe, es wird auf tausenden Rechnern ausgeführt
Nur habe ich hier eine bestimmte W11 Situation und komme zu sehr eigenartigen Resultaten..
Ich gehe da an uralte Codestrecken dran die seit 20 Jahren keiner mehr angefasst hat .
-
Laut Doku soll der Speicher mit
CoTaskMemFree
freigegeben werden. Hab auch grad nen Schreck bekommen, denn iwo benutzen wir die Funktion auch und war mir da nicht sicher, ob der Speicher da nicht auch mitGlobalFree
freigegeben wird. Der Zeitstempel der Quelltextdatei sagt 2017, und der Speicher wird mitCoTaskMemFree
freigegeben, also funktioniert das seit min. 6 Jahren.
-
@DocShoe sagte in WinRT originate error - 0x80040155:
CoTaskMemFree
Danke, ich versuche das, das SHG ist sehr empfindlich.
-
@Achromat sagte in WinRT originate error - 0x80040155:
Danke, ich versuche das, das SHG ist sehr empfindlich.
Dann würde ich dir empfehlen das Programm durch Dr. Memory und Application Verifier zu jagen.
Gerade Dr. Memory zeigte zwar viele Warnungen an, ab es zeigte mir schon eine handvoll schwerwiegende Fehler.
-
Das macht man in unserer Generation nicht, wir mussten früher fehlerfrei in ASM Schreiben, Tools gab es keine, und genau so setzen wir fort. Es gibt immer wieder mal interessante Fehlersituationen, aber durch die Kommunikation mit anderen kommt man
noch selber beim Schreiben auf neue Ideen oder bekommt welche wie von Dir. Das ist besser als alle Tools zusammen.Viele Grüße aus Spandau
Karsten
-
@Achromat sagte in WinRT originate error - 0x80040155:
Das macht man in unserer Generation nicht, wir mussten früher fehlerfrei in ASM Schreiben, Tools gab es keine, und genau so setzen wir fort. Es gibt immer wieder mal interessante Fehlersituationen, aber durch die Kommunikation mit anderen kommt man
noch selber beim Schreiben auf neue Ideen oder bekommt welche wie von Dir. Das ist besser als alle Tools zusammen.Viele Grüße aus Spandau
KarstenAua. Du lässt dich auch im Puff peitschen, oder?
Benutzt ihr auch noch die gleiche Toolchain? CPU i386 Real Mode? Software für 1024x768?Auch ihr seid Menschen und macht Fehler. Heutige Tools, insbesondere statische Codeanalyzer, sind in der Lage auch für den Menschen schwierig zu findende Fehler zu finden. Ich möchte auf solche Tools nicht mehr verzichten. Und ich wette mit dir, dass ein CppCheck Durchlauf interessante Dinge in eurem Quelltext findet. Ich finde es fahrlässig, solche Tools nicht zu benutzen, man sollte zumindest hin- und wieder mal seinen Quelltext mit sowas analysieren lassen.
Das hatten wir auch bei uns in der Firma:Entwickler A: Warum benutzt du keine smart pointer?
Entwickler B: Habe ich noch nie, brauche ich nicht.
Entwickler A: Und was ist, wenn iwo ne Exception fliegt oder ein Branch ne Funktion früher verlässt? Können da Speicherlecks entstehen?
Entwickler B: Nene, auf sowas achte ich, das kann nicht passieren.
CppCheck: Guckst du hier! Und da! Und da auch noch!
-
Das ist schwach sinn, wer gerne abgeholt werden möchte schreibt alles aber auch alles in Java oder sonstigen
Umgebungen. Die Kern -ware aller Software wird jedoch von Experten erstellt, deren Module werden gelinkt
und benutzt , das ist der technische Regress, niemand weiß warum der Lichtschalter funktioniert, dennoch
ist er Teil des Benutzers Wirklichkeit. Nach 50 Jahren Softwareentwicklung hast Du da ne andere Meinung.
Wenn ich bei 2 Millionen Hand Code Zeilen auf jene Tools anwende um Fehler zu finden ist es vorbei.
Übrigens smart Pointer haben wir schon bei w95 anwenden können.
Leider macht sich in der Szene breit, das immer nur einer coden könne das ist man selber. ^^
-
Dann braucht man dir ja nicht mehr helfen.
-
Drei Fehler, welche von CppCheck, Dr.Memory und Testreihen entdeckt wurden.
if (fabs(Value - Mid < Border)) printf("Wert ist innerhalb des Bandes");
SelectObject(MemDC, ThickPen);
void SwapLine(double** M) { //... } void Solve(double Mat[5][5]) { //... SwapLine(Mat); //... }
@Achromat schrieb:
Leider macht sich in der Szene breit, das immer nur einer coden könne das ist man selber. ^^
Jetzt bleib doch bitte mal sachlich.
Einige von uns (auch ich) sind sicherlich schon ein oder das andere mal mit Fehlern auf die Nase gefallen. Vor daher wollen wir uns mit solchen Tools einfach nur absichern.
Ein Klassiker welcher ich von der Uni her kenne: Kleine BUGs, große GAUs. Und das waren definitiv Experten.
-
@Th69 Ja auf diesen Schluss kommt man dann . Logische Entschlüsse sind die besten, einfach nahezu genial.
-
@Quiche-Lorraine lol tut mir leid, viel spaß damit ^^