Werner:
> Mehr liefert Dir die Debug-Version auch nicht, oder übersehe ich da etwas?
Die Debug Version kann Unmengen von Protokollen ausgeben, damit lässt sich ggf. verfolgen was kurz vorher stattgefunden hat. Dazu noch Statistiken zum Speicherverbrauch. Man kann manche Extremsituationen gezielter auslösen (Sonderaktionen bei Speichermangel) usw.
Zum Vergleich - ich verwende eher ähnliche Ausgaben von einem eigenen Plugin, da kommen selbst bei kleinen Dokumenten locker Millionen Zeilen zusammen. Man muss also wissen wo man hinsehen will, und sich dem Problem ggf. programmierend nähern.
Ausserdem ist die Debug Version gespickt mit Abfragen für unwahrscheinliche Fehler (ASSERT) die nur bei fehlerhafter/unvollständiger Programmierung auftreten sollten. In der Release Version werden diese Abfragen ignoriert.
Der Programmcode ist weniger optimiert, dadurch besser auf Assembler Ebene lesbar - wenn man das kann.
Für manche* Debug und Release Versionen gibt es zusätzlich noch Symboldateien, damit bekommen die Aufrufketten (Stack) die Funktionsnamen zugeordnet, und man kann mit Glück sogar lokale Variable identifizieren. So lassen sich auch die Absturzberichte ähnlich aufarbeiten, aber der Blick im Debugger auf das noch nicht beendete Programm ist deutlich aufschlussreicher.
Beides klappt besser in der Debugversion weil weniger optimiert.
* Manche – bei der Flut von sukzessiven Versionen werden nicht jedes Mal die 4 GByte komprimierte Downloads bereitgestellt, aber so 2-3 mal im Jahr ...
Zum eigentlichen Problem:
Das Schliessen eines Dokuments ist ein Sonderfall, da wird ja nicht nur die Datei geschlossen, sondern alle Änderungen abgeschlossen, bzw. (bei SaveOptions.NO) zurückgenommen. Und danach geht der Spass erst los, da alle Strukturen im Speicher einzeln freigegeben werden, und Inkonsistenzen, die beim offenen Dokument nicht stören, gerade da erst zum Tragen kommen. Vielleicht hat man ja einen Treffer mit einem der Asserts …
Martin:
> $.sleep()
Das ist ein "busy-wait". Da dreht die CPU nur nutzlos ihre Schleifen. Wenn man dem Programm für Hintergrund-Arbeiten Zeit lassen will, wäre ein IdleTask die Wahl.
CC2021 => 2023
Welche 2023 denn? Mit 18.4 und 18.5 ist halt viel UXP neu dazugekommen. Kann aber genauso irgendwas mit Fonts sein, oder etwa neuen Grafiktreibern.
> eskalieren vs. indisches Nirwana
Gearbeitet wird halt in Indien, mit begrenzten Resourcen.
Und man hat bessere Chancen mit sauber eingegrenzten, neuen Bugs "Regression" solange der Programmierer sich noch an die Details erinnert.
Ansonsten ist Uservoice der richtige Weg - gibt es schon einen entsprechenden Eintrag?
> "nimm einen MAC" sind nicht hilfreich / "-zig Arbeitsstunden"
Ja, das ist ein Problem. Um eine ideale Arbeitsumgebung zusammenzustellen muss man exakt die richtige Betriebssystemversion ansteuern (mit passender Hardware), damit der zur Adobe Version passende Compiler überhaupt installiert werden kann. Diverse Nacharbeiten "Portierung", was oben geschildert wurde läuft auch nicht auf Knopfdruck. Das geht über mehrere Wochen, bevor man sich um die eigentlichen Änderungen kümmern kann. Da konzentriert man sich gerne auf die bequemere und günstigere Platform.
als Antwort auf: [#587281]