Ich denke ich hab nen Bug gefunden, ich hoffe ich poste das im richtigen Board und irgendjemand leitet es weiter.
Ich hocke an ner Anwendung für meine Firma, die ist über 4000 Zeilen groß und verwendet einige Threads. Seit der 3.94 stürzt sie völlig planlos ab. Ich hab ne ewigkeit gebraucht um den Grund zu finden:
mit eingeschaltetem Debugger kann sich der Debugger nämlich nicht entscheiden wo der Fehler ist, er nimmt dan halt zufällig die Zeile eines Threads wo das Programm gehalten hat.
Also hab ich den Debugger ausgeschaltet um zu sehn wo die OnError Unterstützung stehen bleibt. Die bleibt immer schön an der gleichen Stelle stehn, aber die Zeile ergibt keinen Sinn. Bei einem ProcedureReturn kann man nämlich nicht viel falsch machen.
Aber siehe da, schalte ich die OnError Unterstützung aus, läuft das Programm, und läuft, und läuft....
Ist es da abwegig an einen Bug zu denken?
NACHTRAG:
weil ichs vergessen hab zu erwähnen: ich schätze der Debugger und die OnError Unterstützung kommen nicht mit Threads klar
PB Bug (Debugger, OnError Verarbeitung)
ich arbeite auch an einem projekt das zu spitzenzeiten mit mehreren hundert threads arbeitet. irgendwann beglückte der debugger mich dann mit invalid memory access fehlermeldungen, ohne mir dazu eine sinnvolle zeile anzuzeigen. ich habe sie bisher noch nicht ausmerzen können, bin aber optimistisch, seitdem ich begriff dass es scheinbar nicht an pb liegt, sondern pb mir einfach nur nicht hilft die stelle zu finden, an der ich fehlerhaften code verzapfte. ich weiss nicht wie dies in anderen sprachen aussieht, ob es dort debuggerunterstützung für threads gibt, aber das momentane verhalten vom pb-debugger ist unbrauchbar, weswegen ich ihn schon lange deaktiviert habe. dass dann auf einmal meine OnError funktion wieder lief, machte mich erst darauf aufmerksam, dass der debugger ansonsten darauf zurückgreift. dieses verhalten kann aber höchstens als vorrübergehende notlösung aktzeptiert werden und sollte schnellstens und mit höchster priorität durch vernünftiges debugging abgelöst werden. was mich auch wundert, ist dass im "normalen" debug modus einem fehler, blitzschnell hunderte folgen, wogegen im eigenen OnErrorMode dies nicht passiert, manchmal sogar das programm nach einem fehler, fehlerfrei weiterläuft.