diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index b091804..1292655 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -141,6 +141,8 @@ BOOST_PYTHON_MODULE( pykd ) .def("contain", &dbgModuleClass::contain ) .def("image", &dbgModuleClass::getImageSymbolName ) .def("pdb", &dbgModuleClass::getPdbName ) + .def("checksum", &dbgModuleClass::getCheckSum ) + .def("timestamp", &dbgModuleClass::getTimeStamp ) .def("addSynSymbol", &dbgModuleClass::addSyntheticSymbol ) .def("delAllSynSymbols", &dbgModuleClass::delAllSyntheticSymbols ) .def("delSynSymbol", &dbgModuleClass::delSyntheticSymbol ) diff --git a/pykd/dbgmodule.cpp b/pykd/dbgmodule.cpp index e724fc5..c6a94b2 100644 --- a/pykd/dbgmodule.cpp +++ b/pykd/dbgmodule.cpp @@ -282,7 +282,7 @@ dbgModuleClass::getImagePath() if ( FAILED( hres ) ) throw DbgException( "IDebugSymbol3::GetImagePathWide failed" ); - std::vector pathBuffer(pathSize); + std::vector pathBuffer(pathSize); hres = dbgExt->symbols3->GetSymbolPathWide( &pathBuffer[0], pathSize, NULL ); if ( FAILED( hres ) ) @@ -363,7 +363,7 @@ dbgModuleClass::print() const 0); std::string fullname(&v[0]); fmt % m_base % (m_end - m_base) % m_name % fullname; - return fmt.str(); + return fmt.str(); } catch (std::exception & e) { diff --git a/pykd/dbgmodule.h b/pykd/dbgmodule.h index eb70c88..d8e487f 100644 --- a/pykd/dbgmodule.h +++ b/pykd/dbgmodule.h @@ -66,7 +66,7 @@ public: dbgModuleClass() : m_base( 0 ), - m_end( 0 ) + m_end( 0 ) {} dbgModuleClass( const std::string &name, ULONG64 base, ULONG size ); @@ -114,6 +114,16 @@ public: getPdbName() const { return std::wstring( m_debugInfo.LoadedPdbName ); } + + ULONG + getCheckSum() const { + return m_debugInfo.CheckSum; + } + + ULONG + getTimeStamp() const { + return m_debugInfo.TimeDateStamp; + } bool addSyntheticSymbol( ULONG64 offset, ULONG size, const std::string &symName ); @@ -135,7 +145,7 @@ private: ULONG64 m_base; ULONG64 m_end; - + std::string m_name; std::wstring m_imageFullName;