Closed TheAifam5 closed 3 years ago
I need more information for this one. May you apply the following patch and have the exception occur again please?
diff --git a/src/main/java/ghidra/app/cmd/data/rtti/gcc/typeinfo/BaseClassTypeInfoModel.java b/src/main/java/ghidra/app/cmd/data/rtti/gcc/typeinfo/BaseClassTypeInfoModel.java
index d12c688..a20c566 100644
--- a/src/main/java/ghidra/app/cmd/data/rtti/gcc/typeinfo/BaseClassTypeInfoModel.java
+++ b/src/main/java/ghidra/app/cmd/data/rtti/gcc/typeinfo/BaseClassTypeInfoModel.java
@@ -11,6 +11,7 @@ import ghidra.program.model.mem.MemBuffer;
import ghidra.program.model.mem.MemoryBufferImpl;
import ghidra.program.model.reloc.Relocation;
import ghidra.util.Msg;
+import ghidra.util.exception.AssertException;
import ghidra.program.model.data.StructureDataType;
import ghidra.program.model.listing.Program;
@@ -128,7 +129,9 @@ public final class BaseClassTypeInfoModel {
if (reloc != null && reloc.getSymbolName() != null) {
return (ClassTypeInfo) TypeInfoUtils.getExternalTypeInfo(program, reloc);
}
- return null;
+ throw new AssertException(
+ String.format("Failed to retreive __class_type_info at %s in file %s",
+ getAddress().toString(), program.getName()));
}
/**
After you receive the AssertException it would be appreciated if you go to the address in the program/library and show the following:
You may find the relocation information under Window->Relocation Table
You can use the address as the filter.
It doesn't even prints that error message anywhere
It doesn't even prints that error message anywhere
It should after applying 118a9c4
I'm currently going through everything to provide more information and throw an exception instead of returning null.