"""Public microsoft symbols tests""" import unittest import pykd import os class PeFileAsDumpLoader: """Load/unload PE-file from System as crash dump file""" def __init__(self, fileName): self._fileName = fileName self._loaded = False def __enter__(self): pykd.loadDump(self._fileName) self._loaded = True def __exit__(self, exc_type, exc_value, exc_tb): if self._loaded: pykd.detachProcess() self._loaded = False class MsPdbTest(unittest.TestCase): """Public Microsoft symbols tests""" def testFindMethodOffset(self): """Lookup method offset by name""" with PeFileAsDumpLoader( os.environ["WINDIR"] + r"\System32\ole32.dll" ) as loadedDump: print "\n" + str( pykd.module("ole32") ) self.assertNotEqual( 0, pykd.getOffset("ole32!CPackagerMoniker::AddRef") )