mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 12:53:23 +08:00
[0.2.x] fixed : DiaSymbol::getName
git-svn-id: https://pykd.svn.codeplex.com/svn@79630 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
eef5cf7596
commit
8b26c10a0f
@ -432,7 +432,7 @@ ULONG DiaSymbol::getLocType()
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static const boost::regex stdcallMatch("^_(\\w+)@.+$");
|
||||
static const boost::regex stdcallMatch("^(\\w+)(@\\d+)?$");
|
||||
|
||||
std::string DiaSymbol::getName()
|
||||
{
|
||||
@ -440,8 +440,22 @@ std::string DiaSymbol::getName()
|
||||
HRESULT hres = m_symbol->get_undecoratedName(&bstrName);
|
||||
if (S_OK != hres)
|
||||
bstrName = callSymbol(get_name);
|
||||
autoBstr retValue( bstrName );
|
||||
return retValue.asStr();
|
||||
|
||||
std::string retStr = autoBstr( bstrName ).asStr();
|
||||
|
||||
ULONG symTag;
|
||||
hres = m_symbol->get_symTag( &symTag );
|
||||
if ( S_OK == hres && symTag == SymTagPublicSymbol )
|
||||
{
|
||||
retStr.erase( 0, 1 );
|
||||
}
|
||||
|
||||
boost::cmatch matchResult;
|
||||
|
||||
if ( boost::regex_match( retStr.c_str(), matchResult, stdcallMatch ) )
|
||||
retStr= std::string( matchResult[1].first, matchResult[1].second );
|
||||
|
||||
return retStr;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user