В моем приложении С++ у меня есть виртуальные адреса функций, и я хочу получить их искаженные имена. прямо сейчас я могу получить только неискаженное имя с помощью функции winapi SymFromAddr
. есть ли способ получить искаженные имена?
winapi получить искаженное имя из адреса функции
Ответы (1)
Используйте SymSetOptions(). Вы хотите отключить опцию SYMOPT_UNDNAME
, чтобы увидеть искаженное имя.
Итак, примерно:
DWORD options = SymGetOptions();
SymSetOptions(options & ~SYMOPT_UNDNAME);
if (SymFromAddr(hProcess, dwAddress, &dwDisplacement, pSymbol))
{
// etc...
}
SymSetOptions(options);
person
Hans Passant
schedule
19.11.2014
Спасибо, это сработало, но мне также пришлось включить флаг SYMOPT_PUBLICS_ONLY.
- person max; 19.11.2014