In experimentele cu dezvoltarea de sisteme de operare, mai devreme sau mai târziu, se pune întrebarea de depanare. De multe ori chiar mai devreme decât mai târziu. M-am suficient de mult pentru a face față cu mijloace improvizate, cum ar fi de depanare de ieșire, până când dintr-o dată el a dat în forumuri să menționeze despre built-in debugger Bochs.
Bochs Am fost stabilit pentru o lungă perioadă de timp, am decis să se uite în directorul de instalare și a descoperit că Bochs printre alte fișiere executabile, există două fișiere executabile și bochs.exe bochsdbg.exe:
Pentru a testa descărcarea, pentru a începe să luați simplu încărcător Hello World:
Scrie-l în hello.asm, compila: NASM hello.asm hello.img o-
Am obține fișierul salut, 512 bytes. Această imagine a unui dischetă. În primul sector al programului c sectorul de boot «Bună ziua lume»
Am alerga bochsdbg.exe. Deschide meniul de start:
Faceți clic pe OK, faceți clic pe Start din meniul Start. Deschide două ferestre, cu fereastra mașinii virtuale, și o fereastră cu o linie de comandă pentru depanare comenzi. Debug comenzi cum ar fi GDB. De exemplu:
După comanda „c“ (Sontinue), Bochs și continuă execuție se oprește la prima comandă de pornire, după cum se dorește. Pentru pas cu pas de depanare a da comanda „n“ (următor). Repet comandă anterioară, pur și simplu prin apăsarea „Enter“.
Există mai multe comenzi diferite de depanare. De exemplu:
Etc. ajutor la comenzile pot fi obținute de la linia de comandă, folosind comanda „h“, așa cum am scris mai sus. Precum și dezvoltatorii de site-ul de referință au comanda și o mulțime de alte informații utile, care este în valoare de folosire. Pentru a ilustra un pic mai mult ceea ce pare, un cuplu de capturi de ecran:
Iată ce se poate vedea pe ecran emulator:
Nu pentru a crea o configurație Bochs din nou la fiecare pornire, îl puteți salva după configurarea, înainte de începerea mașinii virtuale.
Ar trebui, de asemenea, adăuga că nu puteți depana singurul mod real dar, de asemenea, de exemplu, trecerea de la real de protejat. Pas cu pas. Ceea ce, desigur, este foarte convenabil și face Bochs instrument de depanare foarte convenabil. Chiar dacă munca lui este oarecum diferită de calculator real este în continuare posibilitatea de a singură etapă oriunde în cod, chiar dacă acesta este nucleul sistemului de operare sau bootloader face Bochs instrument indispensabil.