mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 04:13:22 +08:00
[0.2.x] ~small fixes for load symbols
git-svn-id: https://pykd.svn.codeplex.com/svn@80117 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
142dd21918
commit
4cb4014242
@ -259,7 +259,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
HRESULT STDMETHODCALLTYPE load(__inout IDiaDataSource &dataSource) override
|
||||
virtual HRESULT load(__inout IDiaDataSource &dataSource) override
|
||||
{
|
||||
CComPtr< IUnknown > readExeAtRVACallback(new ReadExeAtRVACallback(m_loadBase, m_openedSymbolFile) );
|
||||
return
|
||||
|
@ -44,17 +44,40 @@ Module::Module(ULONG64 offset )
|
||||
|
||||
SymbolSessionPtr& Module::getSymSession()
|
||||
{
|
||||
m_symSession = loadSymbolFile(m_base, m_imageName, m_symfile);
|
||||
|
||||
if ( !m_symSession )
|
||||
{
|
||||
m_symfile = getModuleSymbolFileName(m_base);
|
||||
m_symSession = loadSymbolFile(m_symfile, m_base);
|
||||
if (m_symSession)
|
||||
throw SymbolException( "failed to load symbol file" );
|
||||
return m_symSession;
|
||||
|
||||
try
|
||||
{
|
||||
m_symSession = loadSymbolFile(m_base, m_imageName, m_symfile);
|
||||
}
|
||||
catch(const SymbolException &e)
|
||||
{
|
||||
DBG_UNREFERENCED_LOCAL_VARIABLE(e);
|
||||
}
|
||||
if (m_symSession)
|
||||
return m_symSession;
|
||||
|
||||
// TODO: read image file path and load using IDiaReadExeAtOffsetCallback
|
||||
|
||||
m_symfile = getModuleSymbolFileName(m_base);
|
||||
if (!m_symfile.empty())
|
||||
{
|
||||
try
|
||||
{
|
||||
m_symSession = loadSymbolFile(m_symfile, m_base);
|
||||
}
|
||||
catch(const SymbolException &e)
|
||||
{
|
||||
DBG_UNREFERENCED_LOCAL_VARIABLE(e);
|
||||
}
|
||||
if (m_symSession)
|
||||
return m_symSession;
|
||||
|
||||
m_symfile.clear();
|
||||
}
|
||||
|
||||
return m_symSession;
|
||||
throw SymbolException( "failed to load symbol file" );
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user