आप सीधे पढ़ने के लिए अपनी वर्चुअल मशीन डीबगिंग सुविधाओं (या जीडीबी / कुछ और) का उपयोग कर सकते हैं। ms-dos की कोई मेमोरी प्रोटेक्शन नहीं है और न ही यह एक मल्टी टास्क सिस्टम है, इसलिए आप वर्चुअल मशीन मेमोरी को पढ़ सकते हैं, आप इनपुट के लिए वर्चुअल मशीन vga पढ़ सकते हैं।
प्रलेखन का कहना है कि एक आदेश मौजूद है
info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode
आउटपुट पाने के लिए सही सिंटैक्स है: रन VirtualBox --debug --startvm msdos1.25
, फिर, डिबगर कंसोल में:
info vgatext
कॉपी-पेस्ट किया गया आउटपुट:
The COMPAQ Personal Computer DOS
Version 1.11
(C) Copyright COMPAQ Computer Corp. 1982
(C) Copyright Microsoft 1981, 82
A>
--------------------------------------------------------------------------------
VBoxDbg>
तो, आप एक डिबगर स्क्रिप्ट लिख सकते हैं जो आपके प्रोग्राम की मेमोरी के अंदर एक मेमोरी वैल्यू पर हुक करती है और जब वीएजी स्क्रीन आउटपुट करता है तो डंप करता है या आप स्क्रिप्ट लिख सकते हैं जो सीपीयू को रोकती है, कंटेंट को लगातार बचाता है, अगर आउटपुट बदलता है, अपडेटेड कंटेंट को सेव करता है, जारी रखता है सीपीयू चलाते हैं
जांच करने के लिए कुछ विकल्प हैं:
अपने एप्लिकेशन की मेमोरी सामग्री को डंप करने के लिए डिबगिंग स्क्रिप्ट लिखने का तरीका जानें
कुछ डिबगिंग वीजीए ड्राइवर / सीरियल पोर्ट / क्यूमू / डोसबॉक्स / वर्चुअलबॉक्स के लिए मेमोरी डंपिंग समाधान ढूंढें
80 से कुछ ओएलडी उपयोगिता कार्यक्रम ढूंढें, जो शायद किसी ने इस उद्देश्य के लिए वहां लिखा था
यहां फ्रीडोस टैग जोड़ें (या यहां तक कि बड़े स्टैकओवरफ्लो पर अपने प्रश्न को आगे बढ़ाएं / दोहराएं, मुझे लगता है कि कुछ गुरुओं को इस तरह की समस्याओं के बारे में एक बात जानना चाहिए
अगर मुझे कुछ रोचक लगता है तो मैं बाद में अपडेट करूंगा, लेकिन क्या आप कृपया कुछ विवरणों को प्रकट कर सकते हैं कि आप 1.25 का उपयोग क्यों कर रहे हैं, क्या यह प्रोग्राम msdos के नए संस्करणों पर काम करता है? मुझे यकीन है कि आप कुछ युवा असेंबली हैकर को एक छोटे से शुल्क के लिए इस प्रोग्राम को एक नए संस्करण (या asm के साथ फ़ाइल आउटपुट को जोड़ने) के लिए उत्सुक कर सकते हैं