Hast du dir die .gdbinit Datei angelegt?
https://studium.kit.edu/sites/vab/61913 ... orial.aspx
Prog Aufgabe
-
- Administrator
- Beiträge: 383
- Registriert: Do 23. Okt 2008, 20:16
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Prog Aufgabe
ja hab ich, ist es eigentlich egal wie ich die nenne so lange die endung .gdbinit is oder muss die iwie besonders heißen? also gdb geht ja auch und ich bekomm auch angezeigt dass momentan kein thread läuft nur wenn ich next ausführe geht das eigentliche programm halt nicht weiter. muss ich dass vllt erst wieder zum laufen bringen?
Re: Prog Aufgabe
Startest du gdb auch im Ordner root?
-
- Administrator
- Beiträge: 383
- Registriert: Do 23. Okt 2008, 20:16
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Prog Aufgabe
ja hab mich an die vorgegebene anleitung gehalten
tmy@tmy:~$ cd ~/os/root
tmy@tmy:~/os/root$ cs161-gdb kernel
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=mips-elf"...
(gdb) p curthread
$1 = (struct thread *) 0x0
(gdb) p *sleepers
Cannot access memory at address 0x0
(gdb) next
The program is not being run.
(gdb) continue
The program is not being run.
(gdb) c
The program is not being run.
(gdb) Quit
so sieht das übrigens aus. vllt das ganze nochmal neu installieren? hab ich zwar schon paar mal gemacht mittlerweile aba vllt hilfts ja^^
tmy@tmy:~$ cd ~/os/root
tmy@tmy:~/os/root$ cs161-gdb kernel
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=mips-elf"...
(gdb) p curthread
$1 = (struct thread *) 0x0
(gdb) p *sleepers
Cannot access memory at address 0x0
(gdb) next
The program is not being run.
(gdb) continue
The program is not being run.
(gdb) c
The program is not being run.
(gdb) Quit
so sieht das übrigens aus. vllt das ganze nochmal neu installieren? hab ich zwar schon paar mal gemacht mittlerweile aba vllt hilfts ja^^
Re: Prog Aufgabe
Ich weiß nicht ob ich dich richtig verstehe, aber .gdbinit ist keine Dateiendung, sondern das ist der Name. Ein Punkt im Dateiname an 1. Stelle macht eine Datei unsichtbar, die Datei muss exakt ".gdbinit" heißen!Thomas hat geschrieben:ja hab ich, ist es eigentlich egal wie ich die nenne so lange die endung .gdbinit is oder muss die iwie besonders heißen?
Zum eigentlichen Problem: Bist du überhaupt sicher, dass der Debugger zum angehaltenen Kernel korrekt verbindet? Steht bei deinem os161 sowas wie "Waiting for debugger" und dann irgendwas grob in die Richtung "Debugger connected" (kann es gerade selbst nicht testen, ich weiß daher den konkreten Text nicht).
Wenn nein, glaube ich liegt es in der Tat an der .gdbinit, die 1. Zeile legt dort ja fest, dass Remote-Debugging betrieben wird. Ohne die dürfte gar nichts klappen, nach was es hier aussieht
Edit:
Das hier
Code: Alles auswählen
sys161: Waiting for debugger connection...
sys161: New debugger connection
338364: <Alanna> Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders
-
- Administrator
- Beiträge: 383
- Registriert: Do 23. Okt 2008, 20:16
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Prog Aufgabe
ja heißt sie nicht, hab mit linux noch nicht gearbeitet und angenommen das wäre ne datei-endung. dann danke auf jeden fall mal wird gleich getestet
Re: Prog Aufgabe
Ich weiß nich genau, wass mir
GDB is unable to find the start of the function at 0x80000000
and thus can't determine the size of that function's stack frame.
sagen soll.
Oder wie ich das fixen kann.
GDB is unable to find the start of the function at 0x80000000
and thus can't determine the size of that function's stack frame.
sagen soll.
Oder wie ich das fixen kann.
Re: Prog Aufgabe
Ich hab mal gegoogelt, das scheint ein bekannter Bug bei MIPS-Anwendungen zu sein. Allerdings wurde das soweit ich das gelesen habe gefixt - hast du irgendwie eine ältere Version vom gdb?
Im Prinzip bedeutet der Fehler, dass der GDB vom Disassembly nicht rauslesen kann wo die Funktion anfängt und damit nicht in der Lage ist, die Funktion richtig zu "parsen", da der Stack-Frame zu Beginn einer Funktion aufgebaut wird. An sich ist der Stack-Frame nur ein Speicherbereich auf dem Stack, in dem Funktionen ihre lokalen Variablen ablegen!
Im Prinzip bedeutet der Fehler, dass der GDB vom Disassembly nicht rauslesen kann wo die Funktion anfängt und damit nicht in der Lage ist, die Funktion richtig zu "parsen", da der Stack-Frame zu Beginn einer Funktion aufgebaut wird. An sich ist der Stack-Frame nur ein Speicherbereich auf dem Stack, in dem Funktionen ihre lokalen Variablen ablegen!
338364: <Alanna> Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders