GDB Not Skipping Functions without Debug Info

Posted by Alan Lue on Stack Overflow See other posts from Stack Overflow or by Alan Lue
Published on 2010-04-03T07:15:23Z Indexed on 2010/04/03 7:23 UTC
Read the original article Hit count: 615

Filed under:
|
|
|

I compiled GDB 7 on a Mac OS X Leopard system. When stepping through a C program, GDB fails to step through 'printf()' statements, which probably don't have associated debug information, and starts printing "Cannot find bounds of current function."

Here's some output:

$ /usr/local/bin/gdb try1
GNU gdb (GDB) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin10".
(gdb) list
1   #include <stdio.h>
2   static void display(int i, int *ptr);
3   
4   int main(void) {
5      int x = 5;
6       int *xptr = &x;
7       printf("In main():\n");
8      printf("   x is %d and is stored at %p.\n", x, &x);
9      printf("   xptr holds %p and points to %d.\n", xptr, *xptr);
10     display(x, xptr);
(gdb) b 6
Breakpoint 1 at 0x1e8e: file try1.c, line 6.
(gdb) r
Starting program: /tmp/try1 

Breakpoint 1, main () at try1.c:6
6       int *xptr = &x;
(gdb) n
7       printf("In main():\n");
(gdb) n
0x0000300a in ?? ()
(gdb) n
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function

Any idea what's going on?

Alan

© Stack Overflow or respective owner

Related posts about c

    Related posts about gdb