mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 21:03:23 +08:00
[0.1.x] ~fix: infinite recursion (reload symbols->get pdb->reload symbols...)
git-svn-id: https://pykd.svn.codeplex.com/svn@73653 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
114b11be8e
commit
eece068ff3
@ -137,7 +137,8 @@ Module::getPdbName()
|
||||
|
||||
if (!*moduleInfo.LoadedPdbName)
|
||||
{
|
||||
reloadSymbols();
|
||||
reloadSymbolsImpl();
|
||||
|
||||
hres = m_advanced->GetSymbolInformation(
|
||||
DEBUG_SYMINFO_IMAGEHLP_MODULEW64,
|
||||
m_base,
|
||||
@ -162,7 +163,7 @@ Module::getPdbName()
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void
|
||||
Module::reloadSymbols()
|
||||
Module::reloadSymbolsImpl()
|
||||
{
|
||||
HRESULT hres;
|
||||
|
||||
@ -172,6 +173,15 @@ Module::reloadSymbols()
|
||||
hres = m_symbols->Reload( param.c_str() );
|
||||
if ( FAILED( hres ) )
|
||||
throw DbgException("IDebugSymbols::Reload failed" );
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void
|
||||
Module::reloadSymbols()
|
||||
{
|
||||
reloadSymbolsImpl();
|
||||
|
||||
m_dia.reset();
|
||||
m_dia = pyDia::GlobalScope::loadPdb( getPdbName() );
|
||||
|
@ -45,7 +45,7 @@ public:
|
||||
|
||||
void
|
||||
reloadSymbols();
|
||||
|
||||
|
||||
ULONG64
|
||||
getSymbol( const std::string &symbolname ) {
|
||||
return m_base + getRvaByName(symbolname);
|
||||
@ -96,6 +96,10 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
void
|
||||
reloadSymbolsImpl();
|
||||
|
||||
|
||||
ULONG getRvaByName(const std::string &symName);
|
||||
|
||||
BaseTypeVariant getValue() {
|
||||
|
Loading…
Reference in New Issue
Block a user