PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DOS: Debuggen mit Turbo Debugger



micakw4100
05.08.2004, 10:53
Hi,

ich möchte ein Programm mit einem Turbo Debugger von Borland unter DOS im Proteced Mode deguggen, ich bekomme es nicht hin.
Selbst ein simples Hallo World Programm läuft nicht.

Hat jemand rat?

Thx

Mick

ultra
05.08.2004, 20:35
hm ich hab den mal ne zeit benutzt um ne 16bit applikation zu debuggen...ist echt stressig und auch schon bisschen her...

was geht denn nicht ?

was mit auf anhieb einfaellt ist...
der debugger kann nur 8.3 filenamen...sonst findet er den source nicht...
und returns sind ein problem...z.b. ich glaub unix returns (oder waren es mac) weiss nich mehr kann der ueberhaupt nicht ab...da stimmt nix mehr dann...

ultra

micakw4100
06.08.2004, 07:18
hm ich hab den mal ne zeit benutzt um ne 16bit applikation zu debuggen...ist echt stressig und auch schon bisschen her...

was geht denn nicht ?

was mit auf anhieb einfaellt ist...
der debugger kann nur 8.3 filenamen...sonst findet er den source nicht...
und returns sind ein problem...z.b. ich glaub unix returns (oder waren es mac) weiss nich mehr kann der ueberhaupt nicht ab...da stimmt nix mehr dann...

ultra
Also es wäre schön wenn ich schon so weit währe.
Ich kann meine Appliaktion ja schon gar nicht in den TD reinladen, kommt sofort File Error obwohl das File alleine läuft.
dazu eine Idee!
Ich habe es schon alles versucht, Pfade usw. stimmen, 8.3 ist eingehalten für td und src, also kurz alles mist.

ultra
06.08.2004, 09:35
und eine andere applikation laden geht ?

hm ne wuesste ich jetzt auch nicht... aber den richtigen debugger hast du genommen oder ?
weil gibt zwei...einen fuer 16bit einen fuer 32bit...
aber das is ja eigentlich das erste was man antestet...

ne leider keine idee...

aber ich weiss ungefaehr was du durchmachst gerade
ich musste auch lange zeit bestimmt nen jahr oder zwei mit dem td arbeiten wo schon lang vc draussen war...
grausamer kram

sonst schick mir mal das ding...nur das exe... ich hab den td noch installiert hier...

ultra

MacSeck
08.08.2004, 15:17
Das kannst Du auch vergessen!!!:) , sorry...

Der Debugger nutzt den Protected-Mode des 386 Prozessors um 286 und abwärts, also Real-Mode Programme überhaupt unterbrechen zu können und stellt eine "virtuelle" 8086 REAL-MODE!!!! Maschine dar.
Ein Programm, das selbst den Protected-Mode benutzt z.B. unter einem DOS-Extender gräbt dem Debugger jegliches Wasser von vornherein ab. Der hat überhaupt keine Chance mehr, der zu debuggenden Applikation "illegale" Befehle unterzujubeln, die dann zu einem NMI führen, dessen Vektor auf ihn zeigt, also die Kontrolle an den Debugger gibt. Wenn die laufende Applikation in der Lage ist (Protected-Mode) diesen Vektor z.B. selbst zu verändern, oder überhaupt keine "Schutzverletzung" (illegal instruction) erzeugt, weil der DOS-Extender z.B. das als "legal" zulässt und sich dann selbst verabschiedet...
Da nutzt dann der beste Debugger nix mehr...; nur ein anderer Rechner, der z.B. in der Lage ist (völlig andere Hardware SUN-Sparc oder sowas) eine "virtuelle" INTEL-Protected Mode Umgebung zu emulieren, ohne dass ein Programm in der Lage ist, dem Debugger selbst den Regiestuhl abzusägen.:mad:
und das hat Intel ab 486 verschlampt.
Der 386 (selbst der SX) konnte aufgrund eben dieser Befehlsstruktur den 286 und darunter debuggen.
Der 486 konnte keinen 386er debuggen, dto. der Pentium1 den 486 nicht und der Pentium2 den Pentium1 nicht ff.
Dumm gelaufen, blöd designt... und deswegen gibt es soviele "Schartige" "Fehlerträchtige" Software (incl. Betriebssysteme)..
Denn sie wissen nicht was sie tun; und schlimmer noch, man hat ihnen die Chance abgegraben, zu prüfen, was sie tun.