2010-01-11 34 views
10

Sadece sanal postada yaptığım soruyu çapraz gönderiyorum. http://forums.virtualbox.org/viewtopic.php?f=9&t=26702&p=119139#p119139Sanal Kutuda Misafir İşletim Sisteminde Hata Ayıklama Aracı

Herhangi bir kuralı ihlal etmemeniz durumunda, stackoverflow daha dinamik olacağından dolayı bu konuda daha fazla bilgi almak isterim!

"Merhaba, Bazı arama yaptım ve sanal kutuda bir önyükleme sisteminden hata ayıklamak için herhangi bir araç bulamadım. Ancak, JCP'ye rastladım, ancak java'da çok güçlü ve hoş olmayan bir x86 öykünücüsü vardı ancak Fiziksel Hafızayı görüntüleyebileceğiniz bir hata ayıklama moduna sahip, CPU diğer şeyleri kaydeder ve aynı zamanda CPU talimatlarını adım adım çalıştırabilmeyi ve mola noktaları, iz noktaları ve koşullu olanları ayarlamayı mümkün kılar .. Virtual Box'da böyle bir şey var mı?

Ona sahip ve süre ve çalışan sistemin kontrol edebilmek için şaşırtıcı olacağını düşünüyorum. PC mimarisi ile ilgili veya yanı bir çekirdek geliştirmek için bir araç olarak öğrenmek için.

İyi bir fikir olduğunu düşünüyorsanız (bence) nasıl başarılabilir? Bu tür şeyler geliştirmeye ilgi duyuyorum ve zaten bir yerde uygulanmadıysa uygulanabilir olup olmadığını bilmek istiyorum. "

EDT: Modern x86, bir cpu döngüsünden hemen sonra yürütmeyi kesintiye uğratabilir ve yürütme Bunu yapmak için başka bir kod Evet, tuzak bayrağı adım adım yürütme adımında işlemciyi koymak için ayarlanabilir.x86 bir yönerge yürütecek ve INT 3'ü arayacaktır.

+0

QEMU iyi GDB desteği vardır: https://stackoverflow.com/questions/11408041/how-to-debug-the-linux-kernel-with-gdb-and-qemu/33203642 # 33203642 –

cevap

7

OSDev wiki bir kullanıcının hata ayıklaması hakkında bazı yararlı bilgilere sahiptir this page VirtualBox henüz bir hata ayıklayıcısına sahip olmasa da işletim sistemi, the GDB stub ile QEmu kullanıyorum ve oldukça iyi çalışıyor, bu yüzden bunun yerine bir tane vermek isteyebilirsiniz.

+0

Gdb misafir hafızasını inceleyebilecek ve misafir IP'sine işaret edebilecek mi? AFAIK VirtualBox QEMU'ya dayanıyor, bu yüzden güzel bir arayüze sahip olmak imkansız olmamalı. sağ? –

+0

Evet, kullandığımda, kesme noktaları belirleme, yazmaçları inceleme ve bellek konumlarını listeleme gibi tüm normal GDB öğelerini yapabilirsiniz. VirtualBox'la hiç deneyimim yok, korkarım ki ne kadar uygun olduğunu söyleyemem. –

+0

Ayrıca hata ayıklama sembollerini anlayacak mı? Sadece DDD gibi güzel bir arayüz kullanmayı düşünüyordum, ama pencereleri kullanıyorum ve port yok gibi görünüyor. –

10

Yukarıda belirtilenlerin aksine, VirtualBox artık (sınırlı) bir hata ayıklayıcısı içeriyor. VM'yi başlatırken komut satırına --dbg'u ekleyin. Daha fazla bilgi için bakınız:

12.1.3. The built-in VM debugger

+0

Çok güzel şeyler! Yine de, ilk denemelerime dayanarak, bir tür buggy gibi görünüyor. –

İlgili konular