Debugger
-
Hi!
Könnt ihr mir gute Debugger empfehlen, welche unter Windows laufen?lg, phreaking
-
Wie tief willst du denn debuggen?
Für normale Debuggingzwecke ist Visual C ganz nett oder wenn mans ein bissl mehr unix-like will gdb
Wenns in den Kernel gehen soll, ist SoftICE glaube ich das einzig wahre
-
Hmm.. und wie lade ich in den 3 Programmen zB eine COM-File?
lg, phreaking
-
Gar nicht. dafuer brauchst Du einen DOS 16Bit-Debugger. Sehr schoen ist da z.B. der Turbo Debugger von Borland.
Der hat nur 2 Nachteile:
1.Ist keine Freeware.
2.Du kannst kein Programm Debuggen, dass irgendwo mit einer API in den Protected Mode wechselt. :o
-
Also, ich habe das mit Softice schon so probiert: Ich schreibe in der COM-File ein INT 1 am Anfang. Dann gebe ich in Softice I1HERE ON ein, und führe die COM aus. Softice wird aber nicht aufgerufen. Aber wenn ich die COM in das Programm debug lade, und es schrittweise durchgehe, wird nach IRET Softice aktiv. Kann mir das jemand erklären?
lg, phreaking
-
Ich denke das liegt daran (gilt nur sicher für Windows NT/2k/XP):
.com-Files wie uch andere 16-bit-Programme werden nicht direkt ausgeführt, sondern in einer VirtualMachine. Dabei emuliert Windows einen kleinen DOS-Rechner im Protected Mode. Daher werden die int 1 die du in das com-file schreibst nie direkt aufm Prozessor ausgeführt, sondern nur innerhalb der emulierten DOS-VM und kommen daher nie bei SoftICE an. Warum er dann bei iret zurückkommt, ist ne andere gute Frage