diff --git a/changelist.txt b/changelist.txt index 0c573b7..82acd7a 100644 --- a/changelist.txt +++ b/changelist.txt @@ -1,3 +1,11 @@ +version 0.1.0.7 30/01/2012 + +[+] added : cpuReg class +[+] added : getLocals method for the class stackFrame +[+] added : checksum method for the class module +[+] added : timestam method for the class module + + version 0.1.0.6 20/01/2012 [!] fixed : issue #10181 ( exception information (!py) ) diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index 44d1aa8..eb97698 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -578,9 +578,9 @@ BOOST_PYTHON_MODULE( pykd ) .def("containingRecord", &Module::containingRecordByType, "Return instance of the typedVar class. It's value are loaded from the target memory." "The start address is calculated by the same method as the standard macro CONTAINING_RECORD does" ) - .def("checksumm",&Module::getCheckSumm, + .def("checksum",&Module::getCheckSumm, "Return a image file checksum: IMAGE_OPTIONAL_HEADER.CheckSum" ) - .def("timeDataStamp",&Module::getTimeDataStamp, + .def("timestamp",&Module::getTimeDataStamp, "Return a low 32 bits of the time stamp of the image: IMAGE_FILE_HEADER.TimeDateStamp" ) .def("__getattr__", &Module::getSymbol, "Return address of the symbol" ); @@ -1076,9 +1076,9 @@ py( PDEBUG_CLIENT4 client, PCSTR args ) sstr << std::endl << std::endl; - for ( long i = 0; i < python::len(lst); ++i ) sstr << std::wstring( python::extract(lst[i]) ) << std::endl; + dbgClient->eprintln( sstr.str() ); } diff --git a/pykd/pykdver.h b/pykd/pykdver.h index 595c7d0..d662d76 100644 --- a/pykd/pykdver.h +++ b/pykd/pykdver.h @@ -2,7 +2,7 @@ #define PYKD_VERSION_MAJOR 0 #define PYKD_VERSION_MINOR 1 #define PYKD_VERSION_SUBVERSION 0 -#define PYKD_VERSION_BUILDNO 6 +#define PYKD_VERSION_BUILDNO 7 #define __VER_STR2__(x) #x diff --git a/test/scripts/basetest.py b/test/scripts/basetest.py index 06d155e..b336049 100644 --- a/test/scripts/basetest.py +++ b/test/scripts/basetest.py @@ -56,7 +56,6 @@ class BaseTest( unittest.TestCase ): self.assertTrue( hasattr(pykd, 'loadWChars') ) self.assertTrue( hasattr(pykd, 'loadWStr') ) self.assertTrue( hasattr(pykd, 'loadWords') ) - #self.assertTrue( hasattr(pykd, 'locals') ) self.assertTrue( hasattr(pykd, 'ptrByte') ) self.assertTrue( hasattr(pykd, 'ptrDWord') ) self.assertTrue( hasattr(pykd, 'ptrMWord') ) @@ -74,7 +73,6 @@ class BaseTest( unittest.TestCase ): self.assertTrue( hasattr(pykd, 'setCurrentProcess') ) self.assertTrue( hasattr(pykd, 'setImplicitThread') ) self.assertTrue( hasattr(pykd, 'setProcessorMode') ) - # self.assertTrue( hasattr(pykd, 'sizeof') ) self.assertTrue( hasattr(pykd, 'startProcess') ) self.assertTrue( hasattr(pykd, 'step') ) self.assertTrue( hasattr(pykd, 'symbolsPath') ) @@ -105,6 +103,7 @@ class BaseTest( unittest.TestCase ): self.assertFalse( hasattr(pykd, 'loadLinkedList') ) self.assertFalse( hasattr(pykd, 'loadPtrs') ) self.assertFalse( hasattr(pykd, 'reloadModule') ) + self.assertFalse( hasattr(pykd, 'sizeof') ) self.assertFalse( hasattr(pykd, 'typedVarArray') ) self.assertFalse( hasattr(pykd, 'typedVarList') ) self.assertFalse( hasattr(pykd, 'windbgIn') ) @@ -117,6 +116,7 @@ class BaseTest( unittest.TestCase ): self.assertTrue( hasattr(pykd, 'detachProcess') ) self.assertTrue( hasattr(pykd, 'diaLoadPdb') ) self.assertTrue( hasattr(pykd, 'getDebuggeeType' ) ) + self.assertTrue( hasattr(pykd, 'getLocals' ) ) self.assertTrue( hasattr(pykd, 'getExecutionStatus' ) ) self.assertTrue( hasattr(pykd, 'killProcess') ) self.assertTrue( hasattr(pykd, 'loadExt') )