gdb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Strange gdb behavior on arm


From: Orion Poplawski
Subject: Strange gdb behavior on arm
Date: Thu, 30 Jan 2014 22:47:48 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

I'm trying to debug R using gdb  7.6.50..20130731-19.fc20 on a Fedora 20 
arm virtual machine running under QEMU.  I seem to get lots of very strange
results when I print variables.  For example:

Breakpoint 1, tre_tnfa_run_parallel (address@hidden, 
    address@hidden, address@hidden, address@hidden, 
    address@hidden, eflags=0, address@hidden, 
    match_end_ofs=0xbeffdbb8, address@hidden)
    at tre-match-parallel.c:111
111     {
2: *tnfa = {transitions = 0x20f3e8, num_transitions = 6, initial = 0x38e2c8, 
  final = 0x20f49c, submatch_data = 0x594c80, firstpos_chars = 0x0, 
  first_char = 46, num_submatches = 1, tag_directions = 0x594c70, 
  minimal_tags = 0x97a2c8, num_tags = 1, num_minimals = 0, end_tag = 1, 
  num_states = 3, cflags = 129, have_backrefs = 0, have_approx = 0, 
  params_depth = 0}
1: tnfa = (const tre_tnfa_t *) 0x594c20
(gdb) print &tnfa
Address requested for identifier "tnfa" which is in register $r0

so here at entry it know that tnfa is set to 0x594x20.  And it currently
appears to be stored in a register $r0.


This continues until I hit an xmalloc() call:

171         buf = xmalloc((unsigned)total_bytes);

after which:

tre_tnfa_run_parallel (tnfa=0x81, address@hidden, string=0x594c20, 
    address@hidden, len=5852192, address@hidden, type=STR_WIDE, 
    address@hidden, address@hidden, eflags=0, 
    address@hidden, match_end_ofs=0xbeffdbb8, address@hidden)
    at tre-match-parallel.c:173
173         if (buf == NULL)
2: *tnfa = <error: Cannot access memory at address 0x81>
1: tnfa = (const tre_tnfa_t *) 0x81
(gdb) print &tnfa
$5 = (const tre_tnfa_t **) 0xbeffdad8

Can someone explain what is going on?

- Orion






reply via email to

[Prev in Thread] Current Thread [Next in Thread]