2013-06-07 33 views
8

Ben başarıyla ileri ve geri adım ve kaydetmek için gdb kaydını kullanabilirsiniz tutorial exampleÖzü yürütme günlüğü bir VirtualBox VM

için çalıştırılan komutların bir listesini oluşturmak için GDB rekor özelliği kullanmak çalışılıyor yürütme kaydı "kayıt kaydet" kullanılarak bir dosyaya kaydedilir.

You can't do that when your target is 'record-full'

rekoru çalışılıyor:

Ben ne yapmak istiyorum ben bu çalıştıklarında docs

Disassembles instructions from the recorded execution log

itibaren Ama hata alıyorum "kayıt talimat-tarih" olduğunu düşünüyorum

Target does not support branch tracing.

Ben gdb 7.6 çalıştırıyorum: btrace hedef hata verir VirtualBox VM, doğal olarak çalışmam gerekiyor mu yoksa başka bir büyü var mı?

+0

Ayrıca Intel SDE'ye de bakabilirsiniz: http://stackoverflow.com/a/31814199/895245 –

cevap

2

Sorununuz, bu işlemi gerçekleştirmek için VirtualBox numaralı sorunundan kaynaklanmaktadır. Olarak, daha spesifik olarak bu satırları, this link görebileceğiniz:

if (packet->support != PACKET_ENABLE) 
    error (_("Target does not support branch tracing.")); 

Bu sorun here.

En iyi tahminle böyle işlemleri gerçekleştirmek için izin veren bazı diğer VirtualBox özellikleri yüklemektir
But VirtualBox does NOT 
emulate certain debugging features of modern x86 CPUs like branch target 
store or performance counters. 

açıklanmıştır, veya yeni bir sanal ortama geçin.

Bilgi aramaya devam edeceğim.

+1

Mükemmel araştırma Jean, artık bu problemi araştırıyorum ama yine de bir yanıt almak için harika olacak. Çözüm, ancak Sanal Kutunun soruna özgü niteliğini yansıtacak şekilde başlığı değiştirecektir. – bcleary

+0

Gerekli "cpuinfo" bayrağı "intel_pt": http://stackoverflow.com/questions/22507169/how-to-run-record-instruction-history-and-function-call-history-in-gdb/31814199# 31814199 –