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:

    @Achromat

    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 mit GlobalFree freigegeben wird. Der Zeitstempel der Quelltextdatei sagt 2017, und der Speicher wird mit CoTaskMemFree 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.



  • @Quiche-Lorraine

    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:

    @Quiche-Lorraine

    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

    Aua. 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.



  • @Achromat

    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 ^^


Anmelden zum Antworten