This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How to use "frame addr" command in gdb?


Hi all,

I know there are 2 commands for selecting frame: "frame n" and "frame addr"(Selecting a Frame in gdb manual). And write a simple program to test the 2 commands.

The program is like this:

#include <stdio.h>

int func1(int a)
{
        return 2 * a;
}

int func2(int a)
{
        int c = 0;
        c = 2 * func1(a);
        return c;
}

int func3(int a)
{
        int c = 0;
        c = 2 * func2(a);
        return c;
}

int main(void)
{
        printf("%d\n", func3(10));
        return 0;
}

I use gdb to debug this program, and find 'frame n' command works OK:
(gdb) bt
#0  func1 (a=10) at a.c:5
#1  0x08050b67 in func2 (a=10) at a.c:11
#2  0x08050b89 in func3 (a=10) at a.c:18
#3  0x08050bb9 in main () at a.c:24
(gdb) frame 2
#2  0x08050b89 in func3 (a=10) at a.c:18

But when I want to use "frame addr" command, it seems not work well:

(gdb) frame 0x08050bb9
#0  0x00000000 in ?? ()
(gdb) frame 0x08050b89
#0  0x00000000 in ?? ()
(gdb) frame 0x08050b92
#0  0x00000000 in ?? ()

How to use "frame addr" command? Thanks very much in advance! I can't find other reference except the manual.

P.S. My gdb is 7.8.1, and works on Solaris X86 platform.

Best Regards
Nan Xiao

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]