Prepare for releasing version 0.28
[pyelftools.git] / z.py
1 #-------------------------------------------------------------------------------
2 # elftools
3 #
4 # Eli Bendersky (eliben@gmail.com)
5 # This code is in the public domain
6 #-------------------------------------------------------------------------------
7
8 # Just a script for playing around with pyelftools during testing
9 # please ignore it!
10 #
11 from __future__ import print_function
12
13 import sys, pprint
14 from elftools.elf.structs import ELFStructs
15 from elftools.elf.elffile import ELFFile
16 from elftools.elf.sections import *
17
18 from elftools.elf.relocation import *
19
20
21 stream = open('test/testfiles/exe_simple64.elf', 'rb')
22
23 efile = ELFFile(stream)
24 print('elfclass', efile.elfclass)
25 print('===> %s sections!' % efile.num_sections())
26 print(efile.header)
27
28 dinfo = efile.get_dwarf_info()
29 from elftools.dwarf.locationlists import LocationLists
30 from elftools.dwarf.descriptions import describe_DWARF_expr
31 llists = LocationLists(dinfo.debug_loc_sec.stream, dinfo.structs)
32 for loclist in llists.iter_location_lists():
33 print('----> loclist!')
34 for li in loclist:
35 print(li)
36 print(describe_DWARF_expr(li.loc_expr, dinfo.structs))
37
38