Lowlevel
OffZone => Offtopic => Thema gestartet von: iksnagreb am 14. November 2012, 21:16
-
Hallo.
Es wäre mal interessant zu sehen wie eure Screens of Death so aussehen.
Vielleicht war ja einer von euch sehr kreativ dabei, seinen Screen of Death zu gestalten.
Hier ist mein Screen of Death:
(http://s7.directupload.net/images/121114/kchdz58j.png)
Ich freue mich schon darauf eure zu sehen :-D
-
:-P
(http://forum.gamersunity.de/jo2105/filedrop/bluescreen-of-death.gif)
Der wird natürlich nochmal überarbeitet. :D
-
Meiner sieht derzeit so aus (letzte Zeilen im Log, Hellgrau auf Schwarz):
[CRIT ] Got exception 0xe (#PF, error 0x0) at 0xe01059ba!
[CRIT ] EAX: 0x12345678, EBX: 0x9500, ECX: 0x0, EDX: 0x0
[CRIT ] ESI: 0x0, EDI: 0x130000, EBP: 0x104fc0
[CRIT ] CS: 0x8, SS: 0xe010b218, ESP: 0x3, EFLAGS: 0x46
[CRIT ] CR0: 0x80000011, CR2: 0x12345678, CR3: 0x101000
[CRIT ] Halting.
-
Hm, "meiner" ist der da. Kennen wohl die meisten hier:
(http://img24.imageshack.us/img24/7897/tyndurnmi.png)
Außerdem poste ich mal in Vertretung von Paddy den hier (hab mir sogar extra einen Crosscompiler dafür gebaut...):
(http://img831.imageshack.us/img831/4884/paddynmi.png)
In beiden Fällen musste ein NMI herhalten, weil diese Systeme natürlich nicht einfach so abstürzen. (*hust* ;))
-
Also der von FruityOrange:
(http://s14.directupload.net/images/121115/i2oap4da.png)
Und dann von unserem Gemeinschaftsprojekt Universe:
(http://s14.directupload.net/images/121115/hl66fpd6.png)
-
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf? Und cs=0x101bae klingt auch unwahrscheinlich. ;)
-
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Bevor der eigentlich Kernel geladen wurde:
(https://dl.dropbox.com/u/46465155/Lowlevel/early.png)
Mit Kernel (sieht nicht schön aus, aber sieht ja so wieso keiner ^^):
(https://dl.dropbox.com/u/46465155/Lowlevel/late.png)
-
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Entweder "%#06x" oder das printf ist buggy. ;)
Und ich wusste gar nicht, dass du auch einen eigenes OS hast. Gibt es da auch was zu zeigen, wenn es grad nicht abstürzt?
-
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Und ich wusste gar nicht, dass du auch einen eigenes OS hast. Gibt es da auch was zu zeigen, wenn es grad nicht abstürzt?
Das hatten wir doch schon mal^^
Je nach Branch listet es alle PCI geräte oder ACPI Tabellen auf. Also nix dolles.
-
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Das mit %#08x und so hab ich einfach weggelassen. Und die Anzahl der stellen für %x ist eben 6. kA warum
Sonst funktioniert das printf eigentlich
-
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Ich weiß ja nicht, was für eine glibc du benutzt, aber meine gibt mit 0x10 und "%#08x" eben acht Ziffern aus und nicht nur sechs. (Oder eigentlich sogar neun, wenn man das 0 in 0x mitzählt. ;))
-
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Ich weiß ja nicht, was für eine glibc du benutzt, aber meine gibt mit 0x10 und "%#08x" eben acht Ziffern aus und nicht nur sechs. (Oder eigentlich sogar neun, wenn man das 0 in 0x mitzählt. ;))
Ich verwende ja auch nicht %#08x
-
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Ich weiß ja nicht, was für eine glibc du benutzt, aber meine gibt mit 0x10 und "%#08x" eben acht Ziffern aus und nicht nur sechs. (Oder eigentlich sogar neun, wenn man das 0 in 0x mitzählt. ;))
Ich nutze: GLIBC_2.2.5
aber siehe auch hier:
http://codepad.org/bcvxheal (http://codepad.org/bcvxheal)
-
Okay. Es ist zu lang her, dass ich printf implementiert habe. Du gewinnst.
-
Warum "damit der PC nicht beschädigt wird"? Beim OS-Dev kann man doch (fast) nichts kaputt machen, solange man nicht mit irgendwelchen VGA-Registern oder ähnlichem herumspielt?
-
Hallo,
Hardware darf auch memory-mapped sein. Läuft die CPU amok und greift wahllos auf Adressen zu, ...
Gruß,
Svenska
-
Hat eigentlich sonst niemand was herzuzeigen? Sechs Kernels für 865 Forenmitglieder ist doch irgendwie ein bisschen wenig. ;)
-
Dieser Page Fault wurde natürlich künstlich herbeigeführt
(http://i.imgur.com/cX7Jl.png)
-
So, einmal der normale panic-screen:
(http://s7.directupload.net/images/121129/w2neaor3.png)
Und einmal mit dem Parameter -no-clear-on-panic, der hilft zu erkennen wo der Fehler auftrat:
(http://s1.directupload.net/images/121129/gwfvwuer.png)
Bei anderen Fehlern, z.b. Pagefaults, spuckt der natürlich ein paar infos mehr aus. Erweitern werd ich ihn aber trotzdem noch da ein paar mehr Infos noch praktisch wären.
-
Hi,
dann melde ich mich doch auch mal :)
Also als erstes hier ein Kernel der eigentlich nur ein Programm (Spiel) im Kernelmodus werden sollte (Just for fun^^), da gab es schon ein wenig C++-Runtime und die musste getestet werden :D
Gar nicht so leicht den Compiler dazu zu bringen einen Aufruf einer rein-virtuellen Funktion zu kompilieren ;-)
Grüße,
LittleFox
PS.: wenn ich noch Images finde folgen noch mehr Screenshots - inklusive "Dummer Spruch der Stunde" :D
-
So, Image gefunden - Google sei dank^^
Diesmal die allererste LF OS Version (ohne Rewrite) in Alpha 4:
-
Das ist ja fast ein Kunstwerk. :-D
Was passiert denn, wenn mal größere Zahlen in einem Register stehen? Acht Dezimalziffern kommen mir irgendwie wenig vor für 32 Bit. ;)
-
Du hast den Bootscreen noch nicht gesehen^^ (und den Quälcode auch nicht o.O)
Sagen wir es mal so: es gibt diverse Gründe warum diese Version nicht weiterentwickelt wurde - zu große Zahlen sind mein kleinstes Problem gewesen ;)
Edit1: Größtes Problem an der Version war das ich damit wirklich programmieren gelernt habe und noch sehr schrecklichen Code produziert habe :D
https://code.google.com/p/lf-os/source/browse/trunk/interrupt.c?r=11
in fault_handler() ist der Bluescreen ;)
Edit2: Link anklicken auf eigene Gefahr ... Das ist _wirklich_ Quälcode ;)
-
Autsch...
Yes, I've been warned. :)
-
Man kann immerhin deutlich eine Entwicklung deiner Programmierfähigkeiten feststellen. :wink:
Man beachte die Zeilen 307-384 im Vergleich zu 669-672.
-
Keine Sorge - inzwischen schreib ich besseren Code :D
@MNemo: stimmt, das kam erst später xD
-
https://code.google.com/p/lf-os/source/browse/trunk/interrupt.c?r=11
:-D das erinnert mich an meine anfangszeit mit Python;
50 mal hintereinander gleiche Funktion mit 1, 2 verschiedenen Parametern aufrufen.
Gibz vllt auch Schleifen und Listen?
Nö noch nicht
-
https://docs.google.com/file/d/0B-x3QNiQfEeCVjJnOVIwNUVBbVE/edit?usp=sharing (https://docs.google.com/file/d/0B-x3QNiQfEeCVjJnOVIwNUVBbVE/edit?usp=sharing)
Hier ist mein Redscreen, aber wieso wird DS nicht im Bsp kernel und bei mir NICHT gespeichert ? Müsste man das nicht auch speichern?
-
So siehts aus:
(http://s7.directupload.net/images/130202/vh5m5iql.png)
Es fehlen noch die Infos^^
-
Mir fällt auf dass DS auch in den anderen Deathscreens fehlt.
Außerdem wie bekommt solche Stacktraces - Ok das kann ich schlecht sagen weil mein Profilbild = der get Stacktrace Funktion von Tyndur ist . ;)
-
Soooo, und ich finde mich auch mal ein. Bei der Kürze meines Kernelzyklus bin ich froh, dass ich immerhin noch zu Exceptions komme, auch wenn mein Rubykernel Emerald darunter bisher noch keine x86-Exceptions versteht.
Also, meine beiden aktuellen Projekte, µxoµcota (bei dem die Fehlermeldung netterweise die gesamte Restausgabe verdeckt):
(http://i.imgur.com/Uul42qk.png)
Und Emerald:
(http://i.imgur.com/Ebrm4Yt.png)
Zu Exceptions reichts zwar noch, zu extravaganten Farben aber nicht mehr.
-
*gräbt ein paar Leichen aus*
*fleddert nen alten Thread*
LF OS is back :)
Zum Glück kann ich inzwischen programmieren, einzelne Pixel manuell zu setzen wäre dann doch etwas viel Code *g*