Merge "Fix symbol resolution within a dex file."
This commit is contained in:
commit
0ce76f910b
3 changed files with 8 additions and 7 deletions
|
@ -52,9 +52,9 @@ DexFile* DexFiles::GetDexFile(uint64_t dex_file_offset, MapInfo* info) {
|
|||
return dex_file;
|
||||
}
|
||||
|
||||
void DexFiles::GetMethodInformation(uint64_t dex_offset, MapInfo* info, std::string* method_name,
|
||||
uint64_t* method_offset) {
|
||||
DexFile* dex_file = GetDexFile(dex_offset, info);
|
||||
void DexFiles::GetMethodInformation(uint64_t dex_file_offset, uint64_t dex_offset, MapInfo* info,
|
||||
std::string* method_name, uint64_t* method_offset) {
|
||||
DexFile* dex_file = GetDexFile(dex_file_offset, info);
|
||||
if (dex_file != nullptr) {
|
||||
dex_file->GetMethodInformation(dex_offset, method_name, method_offset);
|
||||
}
|
||||
|
|
|
@ -95,7 +95,8 @@ void Unwinder::FillInDexFrame() {
|
|||
}
|
||||
|
||||
#if !defined(NO_LIBDEXFILE_SUPPORT)
|
||||
dex_files_->GetMethodInformation(dex_offset, info, &frame->function_name, &frame->function_offset);
|
||||
dex_files_->GetMethodInformation(dex_pc - dex_offset, dex_offset, info, &frame->function_name,
|
||||
&frame->function_offset);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -38,10 +38,10 @@ class DexFiles {
|
|||
explicit DexFiles(std::shared_ptr<Memory>& memory);
|
||||
~DexFiles();
|
||||
|
||||
DexFile* GetDexFile(uint64_t dex_offset, MapInfo* info);
|
||||
DexFile* GetDexFile(uint64_t dex_file_offset, MapInfo* info);
|
||||
|
||||
void GetMethodInformation(uint64_t dex_offset, MapInfo* info, std::string* method_name,
|
||||
uint64_t* method_offset);
|
||||
void GetMethodInformation(uint64_t dex_file_offset, uint64_t dex_offset, MapInfo* info,
|
||||
std::string* method_name, uint64_t* method_offset);
|
||||
|
||||
void SetArch(ArchEnum arch);
|
||||
|
||||
|
|
Loading…
Reference in a new issue