This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
RE: back trace issue
- From: "Anthony Berent" <anthony dot berent at arm dot com>
- To: "'nagaraju.m'" <nagaraju dot m at redpinesignals dot com>, <gdb at sourceware dot org>
- Date: Wed, 29 Apr 2009 18:00:55 +0100
- Subject: RE: back trace issue
- References: <49F7EF2B.4090805@redpinesignals.com>
Nagaraju,
Based on my recent experience of debugging similar problems the "set debug
frame 1" command can be extremely useful in debugging this sort of problem
(although the output is not always easy to understand).
Also remember that gdb does lots of caching, so it will only work out the
stack the first time it needs it (probably before you enter the "bt"
command). To clear this out, so that you see how it is actually working out
the stack, you can use the "flushregs" command.
"info frame" will also tell you more about gdb's understanding of stack
frames than a simple backtrace.
- Anthony
-----Original Message-----
From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On Behalf
Of nagaraju.m
Sent: 29 April 2009 07:10
To: gdb@sourceware.org
Subject: back trace issue
Hi,
I am new to gdb. I am using ported gdb to a specific target.
when i am using back trace it is giving only the top most frame.
example:
int add(int x,int y)
{
int z;
z=min(x,y);
return z;
}
int min(int p,int q)
{
int r;
r=max(p,q);
return r;
}
int max(int d,int e)
{
return (d+e);
}
int main()
{
int a, b, c,i;
a = 10;
b =20;
for(i=0;i<10;i++)
c = add(a,b);
return 0;
}
suppose if the control is in max function
(gdb) bt
#0 max (d=10, e=20) at abc.c:15
#1 0x20010348 in ?? ()
can you please suggest me where to provide the information to gdb so
that "back trace" works properly.....
Thanks in advance,
Nagaraju