[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Strange gdb behavior on arm,
Orion Poplawski <=