void WDbgArk::AddSymbolPointer(const std::string &symbol_name, const std::string &type, const std::string &additional_info, walkresType* output_list) { uint64_t offset = 0; try { if ( m_sym_cache->GetSymbolOffset(symbol_name, true, &offset) ) { uint64_t symbol_offset = offset; ExtRemoteData routine_ptr(offset, m_PtrSize); offset = routine_ptr.GetPtr(); if ( offset ) { OutputWalkInfo info; info.address = offset; info.type = type; info.info = additional_info; info.list_head_name = symbol_name; info.object_address = 0ULL; info.list_head_address = symbol_offset; output_list->push_back(info); } } } catch ( const ExtRemoteException &Ex ) { err << wa::showminus << __FUNCTION__ << ": " << Ex.GetMessage() << endlerr; } }
void WDbgArk::AddSymbolPointer(const std::string &symbol_name, const std::string &type, const std::string &additional_info, walkresType &output_list) { unsigned __int64 offset = 0; try { if ( GetSymbolOffset(symbol_name.c_str(), true, &offset) ) { unsigned __int64 symbol_offset = offset; ExtRemoteData routine_ptr(offset, m_PtrSize); offset = routine_ptr.GetPtr(); if ( offset ) { OutputWalkInfo info; info.routine_address = offset; info.type = type; info.info = additional_info; info.list_head_name = symbol_name; info.object_offset = 0ULL; info.list_head_offset = symbol_offset; output_list.push_back(info); } } } catch ( const ExtRemoteException &Ex ) { err << __FUNCTION__ << ": " << Ex.GetMessage() << endlerr; } }