本文整理汇总了C++中idStr::CapLength方法的典型用法代码示例。如果您正苦于以下问题:C++ idStr::CapLength方法的具体用法?C++ idStr::CapLength怎么用?C++ idStr::CapLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类idStr
的用法示例。
在下文中一共展示了idStr::CapLength方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Sym_GetFuncInfo
/*
==================
Sym_GetFuncInfo
==================
*/
void Sym_GetFuncInfo( long addr, idStr &module, idStr &funcName )
{
MEMORY_BASIC_INFORMATION mbi;
module_t *m;
symbol_t *s;
VirtualQuery( (void*)addr, &mbi, sizeof(mbi) );
for ( m = modules; m != NULL; m = m->next )
{
if ( m->address == (int) mbi.AllocationBase )
{
break;
}
}
if ( !m )
{
Sym_Init( addr );
m = modules;
}
for ( s = m->symbols; s != NULL; s = s->next )
{
if ( s->address == addr )
{
char undName[MAX_STRING_CHARS];
if ( UnDecorateSymbolName( s->name, undName, sizeof(undName), UNDECORATE_FLAGS ) )
{
funcName = undName;
}
else
{
funcName = s->name;
}
for ( int i = 0; i < funcName.Length(); i++ )
{
if ( funcName[i] == '(' )
{
funcName.CapLength( i );
break;
}
}
module = m->name;
return;
}
}
sprintf( funcName, "0x%08x", addr );
module = "";
}