diff --git a/pykd/pykdver.h b/pykd/pykdver.h index 3c7301e..123c98e 100644 --- a/pykd/pykdver.h +++ b/pykd/pykdver.h @@ -2,7 +2,7 @@ #define PYKD_VERSION_MAJOR 0 #define PYKD_VERSION_MINOR 2 #define PYKD_VERSION_SUBVERSION 0 -#define PYKD_VERSION_BUILDNO 3 +#define PYKD_VERSION_BUILDNO 4 #define __VER_STR2__(x) #x diff --git a/pykd/win/dbgeng.cpp b/pykd/win/dbgeng.cpp index d4b37d7..a18df6f 100644 --- a/pykd/win/dbgeng.cpp +++ b/pykd/win/dbgeng.cpp @@ -1015,7 +1015,22 @@ HRESULT STDMETHODCALLTYPE DebugEngine::LoadModule( { PyThread_StateSave pyThreadSave( it->pystate ); - DEBUG_CALLBACK_RESULT ret = it->callback->OnModuleLoad( BaseOffset, std::string(ModuleName) ); + std::string modName; + + if ( ModuleName ) + { + modName = ModuleName; + } + else if ( ImageName ) + { + // ��� �������� kernel ��������� ModuleName ����� ���� ����� NULL; + modName = ImageName; + modName.erase( modName.rfind('.') ); + } + else + modName = ""; + + DEBUG_CALLBACK_RESULT ret = it->callback->OnModuleLoad( BaseOffset, modName ); result = ret != DebugCallbackNoChange ? ret : result; }