2010-01-11 11 views
10

Sto semplicemente postando la stessa domanda che ho fatto su virtualbox.org. http://forums.virtualbox.org/viewtopic.php?f=9&t=26702&p=119139#p119139Strumento per il debug del sistema operativo guest in Virtual Box

Se non si infrange una regola, sarei felice di saperne di più su di esso poiché stackoverflow promette di essere più dinamico!

"Ciao, Ho fatto qualche ricerca e non sono riuscito a trovare alcuno strumento per eseguire il debug di un sistema guest dal primo avvio in una casella virtuale .Perché, mi sono imbattuto in JCP, un emulatore x86 in Java che non è così potente e bello ma ha una modalità di debug in cui è possibile visualizzare la memoria fisica, i registri della CPU insieme ad altre cose e consente di eseguire le istruzioni della CPU passo dopo passo e impostare punti di interruzione, punti di controllo e condizionali.Cosa c'è in Virtual Box?

Penso che sarebbe fantastico averlo ed essere in grado di ispezionare il sistema mentre è in esecuzione.Per saperne di più sull'architettura del PC o come strumento per lo sviluppo di un kernel

Nel caso in cui pensi che la sua buona idea (penso che sia) come può essere raggiunta? Sono interessato a sviluppare questo tipo di cose e vorrei sapere se è fattibile se non è già stato implementato da qualche parte. "

EDT: il x86 moderno è in grado di interrompere la sua esecuzione subito dopo un ciclo di CPU e passare gli addres di esecuzione a un altro codice per fare questo? Sì, il flag di trap può essere impostato per mettere il processore in modalità di esecuzione passo passo. x86 eseguirà un'istruzione e chiamerà INT 3.

+0

QEMU ha un buon supporto GDB: https://stackoverflow.com/questions/11408041/how-to-debug-the-linux-kernel-with-gdb-and-qemu/33203642 # 33203642 –

risposta

7

Il OSDev wiki ha alcune informazioni utili sul debug di un ospite sistema operativo, anche se secondo this page VirtualBox non ha un debugger al momento.Io ho usato QEmu con the GDB stub e funziona piuttosto bene, quindi potresti provare a farlo invece

+0

Gdb sarà in grado di ispezionare la memoria ospite e punterà all'IP ospite? AFAIK VirtualBox è basato su QEMU, quindi avere una bella interfaccia non dovrebbe essere impossibile. destra? –

+0

Sì, quando l'ho usato puoi fare tutte le normali cose GDB come impostare i breakpoint, ispezionare i registri e elencare le posizioni di memoria. Non ho alcuna esperienza con VirtualBox, ho paura quindi non posso dirti quanto sia fattibile. –

+0

comprenderà anche i simboli di debug? Stavo solo pensando di usare una bella interfaccia come DDD, ma io uso Windows e sembra che non ci sia una porta. –

10

Contrariamente a quanto affermato sopra, VirtualBox ora contiene un debugger (limitato). Aggiungi --dbg alla riga di comando all'avvio della VM. Per maggiori informazioni consultare:

12.1.3. The built-in VM debugger

+0

Cose davvero fantastiche! Anche se sembra essere ancora una specie di bachi, basato sui miei primi esperimenti. –

Problemi correlati