Debugging without GDB - stack print?

Valery V. Sedletski _valerius at mail.ru
Sat Aug 24 10:00:36 CEST 2019


On 23.08.2019 23:07, Alexander Tormasov via users wrote:
> Thank you for information!
>
> Dump of my file show
> Program Header:
>      PHDR off    0x0000000000000040 vaddr 0x0000000000200040 paddr 0x0000000000000000 align 2**3
>           filesz 0x0000000000000150 memsz 0x0000000000000150 flags r--
>    INTERP off    0x000000000012bee2 vaddr 0x000000000112aee2 paddr 0x000000000112aee2 align 2**0
>           filesz 0x000000000000000a memsz 0x000000000000000a flags r--
>      LOAD off    0x0000000000001000 vaddr 0x0000000001000000 paddr 0x0000000001000000 align 2**12
>           filesz 0x000000000015c9fc memsz 0x000000000015c9fc flags r-x
>      LOAD off    0x000000000015e000 vaddr 0x000000000115d000 paddr 0x000000000115d000 align 2**12
>           filesz 0x0000000000081e9c memsz 0x00000000001112f4 flags rw-
>   DYNAMIC off    0x00000000001c0c18 vaddr 0x00000000011bfc18 paddr 0x00000000011bfc18 align 2**5
>           filesz 0x000000000001f284 memsz 0x000000000001f26c flags rw-
> EH_FRAME off    0x0000000000156030 vaddr 0x0000000001155030 paddr 0x0000000001155030 align 2**2
>           filesz 0x00000000000079cc memsz 0x00000000000079cc flags r--
> Does it mean that real offset in code is
>>>   ip=0xa95b1- 0x1000
> like 0xa85b1
> Disassembly shows the following:
>   10a85b1:       8b 15 69 85 11 00       mov    0x118569(%rip),%edx        # 11c0b20 <genode_argv+0x260>
>
> Seems that argv is damaged…
> While I still try to find exactly which function fail here
>
You also can try "objdump -S" on your binary, and search for the trap 
address in the output. This

command should show a disassembly, intermixed with a source code (if 
it's C/C++, not sure

about Golang). So, you can determine, which function exactly is trapped. 
And yes, you need to

compile with full debug symbols.




More information about the users mailing list