pykd/test/scripts/mspdbtest.py
SND\EreTIk_cp 3d7f299028 [0.2.x]
~ workitem/11723: find symbol by name ("public" pdb)
 - enum types by mask

git-svn-id: https://pykd.svn.codeplex.com/svn@83473 9b283d60-5439-405e-af05-b73fd8c4d996
2017-11-08 17:42:50 +04:00

30 lines
922 B
Python

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