You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Observation (high level) buf_test.tar.gz
I tried to use angr's one feature to resolve the source level variable. I provided a source code as an example, a binary I compiled using Makefile, and the corresponding Python script to trace the value of a local variable. I believe you can replay this directly. Let me know if the script does not work.
A full or partial compilation unit entry may have the following attributes:
1. Either a DW_AT_low_pc and DW_AT_high_pc pair of attributes or a
DW_AT_ranges attribute whose values encode the contiguous or
non-contiguous address ranges, respectively, of the machine instructions
generated for the compilation unit (see Section 2.17 on page 51).
There is no guarantee a compilation unit is contiguous, however, the class CompilationUnit requires the DWARF attributes including low_pc and high_pc. This implementation does not work in general. In my binary example, there is no compilation unit object for main.c. That is why no debug information after loading DWARF.
Alternatives
The binary I compiled is using -O2. The compilation unit could be contiguous address space if -O0 specifies. So I don't think this is a bug. This will be a new feature in angr cle if the CompilationUnit supports non-contiguous address ranges. Hopes you can add this feature on.
Description
Observation (high level) buf_test.tar.gz
I tried to use angr's one feature to resolve the source level variable. I provided a source code as an example, a binary I compiled using Makefile, and the corresponding Python script to trace the value of a local variable. I believe you can replay this directly. Let me know if the script does not work.
Reasoning
From DAWRF 5 manual (page 61):
There is no guarantee a compilation unit is contiguous, however, the class CompilationUnit requires the DWARF attributes including
low_pc
andhigh_pc
. This implementation does not work in general. In my binary example, there is no compilation unit object formain.c
. That is why no debug information after loading DWARF.Alternatives
The binary I compiled is using
-O2
. The compilation unit could be contiguous address space if-O0
specifies. So I don't think this is a bug. This will be a new feature in angr cle if the CompilationUnit supports non-contiguous address ranges. Hopes you can add this feature on.Additional context
You can check the debug info I exported:
This compile unit has
DW_AT_ranges
.The text was updated successfully, but these errors were encountered: