Diskussion:Heisenbug

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 1 Monat von 91.42.63.203 in Abschnitt Register-Genauigkeit
Zur Navigation springen Zur Suche springen

Und was tut man dagegen?

[Quelltext bearbeiten]

Gibt es Lösungsstrategien für dieses Problem? Falls ja, sollten sie in den Beitrag rein. Falls nein, sollte auch das erwähnt werden. (nicht signierter Beitrag von 91.48.101.48 (Diskussion) 19:41, 2. Mai 2020 (CEST))Beantworten

Belege

[Quelltext bearbeiten]

Habe noch nie von den anderen Begriffen gehört (was der Artikel ja selbst auch zugibt). Dementsprechend wären aber Belege gegen eine Wortneuschöpfung angebracht (Erwähnungen in Artikeln der Fachpresse, relevanten Mailinglisten o.ä.) --Cydhra (Diskussion) 18:40, 14. Dez. 2020 (CET)Beantworten

Sehe ich auch so, unbekannt und unbelegt. Ich habe das entfernt. --Ingomaro (Diskussion) 10:02, 5. Okt. 2022 (CEST)Beantworten

Register-Genauigkeit

[Quelltext bearbeiten]

Während des Debuggens werden Werte, die ein optimiertes Programm normalerweise in Registern behalten würde, oft in den Hauptspeicher geschoben. Dies kann z. B. das Ergebnis einer Fließkommarechnung beeinflussen, da der Wert im Speicher einen kleineren Bereich und eine geringere Genauigkeit haben kann als der Wert im Register.

Ich halte das für Unsinn, gibt es Belege dafür? --Ingomaro (Diskussion) 09:58, 5. Okt. 2022 (CEST)Beantworten

Das gibt es (z.B.) bei der SPARK Architektur. Wenn man mit den defaults compiliert werden double-Variablen innerhalb des Prozessors mit 80bit gespeichert und verarbeitet, im Hauptspeicher nur mit 64bit. Die höhere Genauigkeit führt dann zu leicht anderen Resultaten bei numerischen Berechnungen sofern der Algorithmus sensibel auf diese Details ist. 194.15.135.14 10:21, 26. Apr. 2023 (CEST)Beantworten
Ist auch beim numerischen Koprozessor der x86 Architektur (x87) so. Intern rechnet der x87 im 80 Bit extended precision format und speichert das Ergebnis völlig kommentarlos in einem 64 Bit double ab, wenn der Datentyp nicht explizit als long double deklariert wurde. In der englischen Wikipedia geht man darauf auch ein: https://en.wikipedia.org/wiki/Extended_precision#x86_extended_precision_format 91.42.63.203 17:05, 8. Okt. 2024 (CEST)Beantworten