GDB原始函数信息中获取函数名

示例:

kwdbts::Logger::log(kwdbts::_kwdbContext_t*, kwdbts::KwdbModule, kwdbts::LogSeverity, char const*, unsigned short, char const*, __va_list_tag*)
std::__invoke_result<void* (*)(void*), kwdbts::KWDBWrappedThread*>::type std::__invoke<void* (*)(void*), kwdbts::KWDBWrappedThread*>(void* (*&&)(void*), kwdbts::KWDBWrappedThread*&&)
void std::__cxx11::basic_string<char, std::char_traits<char>, kwdbts::ShareMemSysHeapStdAllocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)
std::thread::_Invoker<std::tuple<void* (*)(void*), kwdbts::KWDBWrappedThread*> >::operator()()

原始函数名称处理算法:

从最后一位开始,保存()<>到栈中,当栈空的情况下遇到的第一个英文字母,即为函数名的最后一位,继续向前,直到字符非_以及非英文字母截止

posted @ 2023-05-24 11:26  _清风_明月  阅读(76)  评论(0)    收藏  举报