From 897b7fc82d12a3560764a4422461c000fa7eec9e Mon Sep 17 00:00:00 2001 From: "Mikhail I. Izmestev" Date: Thu, 28 Nov 2019 11:33:29 +0400 Subject: [PATCH 1/2] add test cases for symbols with CV_ALLREG_VFRAME register --- kdlibcpp | 2 +- test/scripts/pykdtest.py | 2 ++ test/scripts/stacktest.py | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/kdlibcpp b/kdlibcpp index a02b6bf..5cec380 160000 --- a/kdlibcpp +++ b/kdlibcpp @@ -1 +1 @@ -Subproject commit a02b6bf3b3088d6299366cf96987327f420d773e +Subproject commit 5cec3802072ec4526f2acb63c448d9c8a55d19b5 diff --git a/test/scripts/pykdtest.py b/test/scripts/pykdtest.py index 2d30961..f843b68 100644 --- a/test/scripts/pykdtest.py +++ b/test/scripts/pykdtest.py @@ -67,6 +67,8 @@ def getTestSuite( singleName = "" ): unittest.TestLoader().loadTestsFromTestCase( breakpoint.BreakpointTest ), unittest.TestLoader().loadTestsFromTestCase( stacktest.StackTest ), unittest.TestLoader().loadTestsFromTestCase( stacktest.InlineStackTest ), + unittest.TestLoader().loadTestsFromTestCase( stacktest.DiaRegToRegRelativeI386Test ), + unittest.TestLoader().loadTestsFromTestCase( stacktest.DiaRegToRegRelativeAmd64Test ), unittest.TestLoader().loadTestsFromTestCase( mspdbtest.MsPdbTest ), unittest.TestLoader().loadTestsFromTestCase( targetprocess.ProcessTest ), unittest.TestLoader().loadTestsFromTestCase( ehloadtest.EhLoadTest ), diff --git a/test/scripts/stacktest.py b/test/scripts/stacktest.py index b469762..8652ee1 100644 --- a/test/scripts/stacktest.py +++ b/test/scripts/stacktest.py @@ -103,4 +103,36 @@ class InlineStackTest(unittest.TestCase): self.assertEqual( expectedStack, realStack) +class DiaRegToRegRelativeI386Test(unittest.TestCase): + def setUp(self): + dumpDir = os.path.join( os.path.dirname(sys.argv[0]), r"..\..\kdlibcpp\kdlib\tests\dumps\targetapp_test_cv_allreg_i386") + dump_file = os.path.join( dumpDir, "targetapp_test_cv_allreg_i386.cab" ) + self.symbolPath = pykd.getSymbolPath() + symbolPath = self.symbolPath + ";" + dumpDir + pykd.setSymbolPath(symbolPath) + self.dump_id = pykd.loadDump( dump_file ) + def tearDown(self): + pykd.closeDump( self.dump_id ) + pykd.setSymbolPath(self.symbolPath) + + def testParams(self): + params = pykd.getFrame().getParams() + self.assertNotEqual(0, len(params)) + +class DiaRegToRegRelativeAmd64Test(unittest.TestCase): + def setUp(self): + dumpDir = os.path.join( os.path.dirname(sys.argv[0]), r"..\..\kdlibcpp\kdlib\tests\dumps\targetapp_test_cv_allreg_amd64") + dump_file = os.path.join( dumpDir, "targetapp_test_cv_allreg_amd64.cab" ) + self.symbolPath = pykd.getSymbolPath() + symbolPath = self.symbolPath + ";" + dumpDir + pykd.setSymbolPath(symbolPath) + self.dump_id = pykd.loadDump( dump_file ) + + def tearDown(self): + pykd.closeDump( self.dump_id ) + pykd.setSymbolPath(self.symbolPath) + + def testLocals(self): + locals = pykd.getFrame().getLocals() + self.assertNotEqual(0, len(locals)) From b17ac9dd050ffe1f9addd84d754bba44edeef326 Mon Sep 17 00:00:00 2001 From: "Mikhail I. Izmestev" Date: Thu, 28 Nov 2019 11:34:26 +0400 Subject: [PATCH 2/2] update kdlib with fix for amd64 CV_ALLREG_VFRAME --- kdlibcpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdlibcpp b/kdlibcpp index 5cec380..efd6438 160000 --- a/kdlibcpp +++ b/kdlibcpp @@ -1 +1 @@ -Subproject commit 5cec3802072ec4526f2acb63c448d9c8a55d19b5 +Subproject commit efd6438c11c9bfaa6b52cea18803c91a1dc3cac2