2013-06-07 4 views
8

मैं gdb का रिकॉर्ड सुविधा का उपयोग करने के लिए निर्देशों tutorial exampleनिकालें निष्पादन लॉग एक VirtualBox वीएम

मैं सफलतापूर्वक आगे और पीछे कदम और बचाने के लिए gdb रिकॉर्ड उपयोग कर सकते हैं के लिए मार डाला की एक सूची उत्पन्न करने का प्रयास कर रहा हूँ "रिकॉर्ड सेव" का उपयोग कर फ़ाइल में निष्पादन लॉग करें।

मुझे लगता है कि मुझे क्या करना चाहते हैं "रिकॉर्ड अनुदेश-इतिहास" जो docs

Disassembles instructions from the recorded execution log

से लेकिन जब मैं इस प्रयास मैं त्रुटि मिलती है:

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

रिकॉर्ड बनाया करने का प्रयास त्रुटि वापस करने के लिए लक्ष्य त्रुटि:

Target does not support branch tracing.

मैं एक में gdb 7.6 चला रहा हूँ वर्चुअलबॉक्स वीएम, क्या मुझे मूल रूप से चलने की ज़रूरत है या क्या मैं कुछ अन्य जादू खो रहा हूं।

+0

आपको इंटेल एसडीई में भी देखना चाहिए: http://stackoverflow.com/a/31814199/895245 –

उत्तर

2

आपकी समस्या इस ऑपरेशन को करने के लिए VirtualBox पर किसी समस्या से आती है। आप this link में देख सकते हैं, और अधिक विशेष रूप से इस लाइन में:

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

यह समस्या here.

But VirtualBox does NOT 
emulate certain debugging features of modern x86 CPUs like branch target 
store or performance counters. 

मेरे सर्वोत्तम अनुमान कुछ अन्य VirtualBox सुविधाओं है कि आप इस तरह के कार्य करने की अनुमति स्थापित करने के लिए है समझाया गया है, या एक नए आभासी वातावरण में स्विच करें।

मैं जानकारी खोज रहा हूं।

+1

शोध जीन का उत्कृष्ट बिट, अब मैं इस समस्या का शोध नहीं कर रहा हूं लेकिन किसी भी तरह का जवाब पाने के लिए बहुत अच्छा हूं, समाधान लेकिन प्रश्न की वर्चुअल बॉक्स विशिष्ट प्रकृति को प्रतिबिंबित करने के लिए शीर्षक को बदल देगा। – bcleary

+0

'cpuinfo' ध्वज आवश्यक है 'intel_pt': http://stackoverflow.com/questions/22507169/how-to-run-record-instruction-history-and-function-call-history-in-gdb/31814199# 31814199 –

संबंधित मुद्दे