2010-03-23 11 views
13

क्या यह संभव है ... जब डीबगर को ब्रेकपॉइंट पर रोक दिया जाता है, तो वर्तमान बफर की स्मृति छवि को ट्वीक करने जैसे हैक्स का उपयोग किए बिना std :: स्ट्रिंग चर के मान को संशोधित करने के लिए?gdb से std :: string variable value सेट करना?

उदा। की तरह कुछ "var mystring सेट =" हैलो दुनिया "

उत्तर

20

इस (परीक्षण किया है और मेरे लिए काम करता है) का प्रयास करें:?

call mystring.assign("hello world") 

कुंजी है कि स्मृति प्रत्यक्ष रूप से बदलाव के बजाय, आप फोन ऑब्जेक्ट के कार्यों को अपने राज्य को बदलने के लिए। ऐसा होता है कि std::basic_string में assign नामक एक सदस्य फ़ंक्शन है जो नौकरी करता है।

+1

उत्कृष्ट! यह केवल वही नहीं है जो मुझे चाहिए, यह मेरी सोच को स्पष्ट करता है कि जीडीबी कैसे काम करता है। – Stabledog

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