pykd/test/scripts/mspdbtest.py

30 lines
922 B
Python
Raw Normal View History

"""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") )