MCPcopy Create free account
hub / github.com/fabioz/PyDev.Debugger / is_buffer

Method is_buffer

pydevd_attach_to_process/winappdbg/process.py:2769–2803  ·  view source on GitHub ↗

Determines if the given memory area is a valid code or data buffer. @note: Returns always C{False} for kernel mode addresses. @see: L{mquery} @type address: int @param address: Memory address. @type size: int @param size: Number of bytes

(self, address, size)

Source from the content-addressed store, hash-verified

2767 return mbi.is_executable_and_writeable()
2768
2769 def is_buffer(self, address, size):
2770 """
2771 Determines if the given memory area is a valid code or data buffer.
2772
2773 @note: Returns always C{False} for kernel mode addresses.
2774
2775 @see: L{mquery}
2776
2777 @type address: int
2778 @param address: Memory address.
2779
2780 @type size: int
2781 @param size: Number of bytes. Must be greater than zero.
2782
2783 @rtype: bool
2784 @return: C{True} if the memory area is a valid code or data buffer,
2785 C{False} otherwise.
2786
2787 @raise ValueError: The size argument must be greater than zero.
2788 @raise WindowsError: On error an exception is raised.
2789 """
2790 if size <= 0:
2791 raise ValueError("The size argument must be greater than zero")
2792 while size > 0:
2793 try:
2794 mbi = self.mquery(address)
2795 except WindowsError:
2796 e = sys.exc_info()[1]
2797 if e.winerror == win32.ERROR_INVALID_PARAMETER:
2798 return False
2799 raise
2800 if not mbi.has_content():
2801 return False
2802 size = size - mbi.RegionSize
2803 return True
2804
2805 def is_buffer_readable(self, address, size):
2806 """

Callers 1

readMethod · 0.95

Calls 2

mqueryMethod · 0.95
has_contentMethod · 0.80

Tested by

no test coverage detected