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)
|
if (!*moduleInfo.LoadedPdbName)
|
||||||
{
|
{
|
||||||
reloadSymbols();
|
reloadSymbolsImpl();
|
||||||
|
|
||||||
hres = m_advanced->GetSymbolInformation(
|
hres = m_advanced->GetSymbolInformation(
|
||||||
DEBUG_SYMINFO_IMAGEHLP_MODULEW64,
|
DEBUG_SYMINFO_IMAGEHLP_MODULEW64,
|
||||||
m_base,
|
m_base,
|
||||||
@ -162,7 +163,7 @@ Module::getPdbName()
|
|||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void
|
void
|
||||||
Module::reloadSymbols()
|
Module::reloadSymbolsImpl()
|
||||||
{
|
{
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
@ -172,6 +173,15 @@ Module::reloadSymbols()
|
|||||||
hres = m_symbols->Reload( param.c_str() );
|
hres = m_symbols->Reload( param.c_str() );
|
||||||
if ( FAILED( hres ) )
|
if ( FAILED( hres ) )
|
||||||
throw DbgException("IDebugSymbols::Reload failed" );
|
throw DbgException("IDebugSymbols::Reload failed" );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
void
|
||||||
|
Module::reloadSymbols()
|
||||||
|
{
|
||||||
|
reloadSymbolsImpl();
|
||||||
|
|
||||||
m_dia.reset();
|
m_dia.reset();
|
||||||
m_dia = pyDia::GlobalScope::loadPdb( getPdbName() );
|
m_dia = pyDia::GlobalScope::loadPdb( getPdbName() );
|
||||||
|
@ -96,6 +96,10 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
void
|
||||||
|
reloadSymbolsImpl();
|
||||||
|
|
||||||
|
|
||||||
ULONG getRvaByName(const std::string &symName);
|
ULONG getRvaByName(const std::string &symName);
|
||||||
|
|
||||||
BaseTypeVariant getValue() {
|
BaseTypeVariant getValue() {
|
||||||
|
Loading…
Reference in New Issue
Block a user