Closed dadavadd closed 8 months ago
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas See info in area-owners.md if you want to be subscribed.
Author: | dadavadd |
---|---|
Assignees: | - |
Labels: | `untriaged`, `area-NativeAOT-coreclr` |
Milestone: | - |
Yes, the AOT compiler does produce debugging information for fields, among other things. It can also produce information needed by reflection for fields that may be reflected on (this is usually a rather small subset of all fields) in a custom format that is stored directly in the binary.
Yes, the AOT compiler does produce debugging information for fields, among other things. It can also produce information needed by reflection for fields that may be reflected on (this is usually a rather small subset of all fields) in a custom format that is stored directly in the binary.
Is there any way to view them in IDA PRO while loading debugging information (.pdb)?
I do not know (this would be an IDA question). I would presume that the "shape" of debug information produced is sufficiently different from C++'s that it is not picked up by the decompiler by default.
Indeed, this is noticeable with strings. They are marked in ida pro as "unk_1234567".
I do not know (this would be an IDA question). I would presume that the "shape" of debug information produced is sufficiently different from C++'s that it is not picked up by the decompiler by default.
Indeed, this is noticeable with strings. They are marked in ida pro as "unk_1234567".
Indeed, this is noticeable with strings. They are marked in ida pro as "unk_1234567".
The string in Native AOT look nothing like typical strings in native languages - first is a pointer to the vtable, next is the size of the string, followed by the characters. IDA would need to learn to understand these.
I remember back in the CoreRT days IDA was a lot better at loading debug info. It got worse somewhere along the way, although I seem to recall IDA loading a lot more stuff from DWARF info compared to PDBs back then.
I think the question has been answered and I don't see anything else actionable.
NativeAOT PDB file loaded into IDA:
C++ pdb loaded into IDA:
Or does information about the fields disappear during compilation, even from a PDB file?