मैं यह समझने की कोशिश कर रहा हूं कि विंडबग के लिए pykd एक्सटेंशन में searchMemory()
फ़ंक्शन का उपयोग कैसे करें।
दस्तावेज़ीकरण निम्नलिखित कहता है:
Function searchMemory
searchMemory( (long)arg1, (int)arg2, (list)arg3) -> int :
Search in virtual memory
C++ signature :
unsigned __int64 searchMemory(unsigned __int64,unsigned long,class boost::python::list)
searchMemory( (long)arg1, (int)arg2, (str)arg3) -> int :
Search in virtual memory
C++ signature :
unsigned __int64 searchMemory(unsigned __int64,unsigned long,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)
क्या कोई जानता है कि तर्क क्या हैं और मुझे इस फ़ंक्शन का उपयोग कैसे करना चाहिए?
1 उत्तर
सबसे पहले, ध्यान दें कि एक ही विधि के 2 अधिभार हैं:
searchMemory( (long)arg1, (int)arg2, (list)arg3) -> int
तथा
searchMemory( (long)arg1, (int)arg2, (str)arg3) -> int
arg1
वह प्रारंभ पता या ऑफ़सेट है जिस पर खोज प्रारंभ करना है,arg2
खोजने के लिए मेमोरी की लंबाई या मात्रा है औरarg3
खोज शब्द है, जो हो सकता है <उल>- एक स्ट्रिंग (
std::string
) या - एक सूची (
char
की)
मैंने इन सबका अर्थ pymemaccess.cpp [ के स्रोतों से लिया है। कोडप्लेक्स] और अभी तक खुद इसका इस्तेमाल कभी नहीं किया।
मैं न तो सी ++ से परिचित हूं और न ही पायथन के साथ और दोनों के बीच मैपिंग के लिए और भी बदतर, लेकिन आईएमएचओ std::string
बाइट्स की एक स्ट्रिंग है और यूनिकोड वर्ण नहीं है, इसलिए आप वहां मनमानी बाइट्स डाल सकते हैं। यह ASCII खोज के लिए भी उपयुक्त होना चाहिए। लेकिन आपको UTF-16 / UCS टेक्स्ट के लिए थोड़ा फील करना पड़ सकता है। यह संभवतः char
की सूची के लिए लागू होता है, क्योंकि इसे wchar_t
के रूप में घोषित नहीं किया गया है।
संबंधित सवाल
नए सवाल
windbg
WinDbg विंडोज के लिए एक उपयोगकर्ता और कर्नेल मोड डीबगर है। इसका उपयोग मूल और प्रबंधित कोड दोनों को डीबग करने के लिए किया जा सकता है।