Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 21st, 2012  |  syntax: None  |  size: 1.96 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. for some reason I'm having a problem with gdb not hitting my breakpoint set for strcpy(). I have a feeling it has to do with the book being a little bit outdated then the current software I'm using. Any info as to what I'm lacking would be grateful.
  2.  
  3.  
  4. [sysadmin@milkyway booksrc]$ gdb -q char_array2
  5. Reading symbols from /home/sysadmin/code/c/booksrc/char_array2...done.
  6. (gdb) list
  7. 1       #include <stdio.h>
  8. 2       #include <string.h>
  9. 3
  10. 4       int main() {
  11. 5               char str_a[20];
  12. 6
  13. 7               strcpy(str_a, "Hello world!\n");
  14. 8               printf(str_a);
  15. 9       }
  16. (gdb) break 6
  17. Breakpoint 1 at 0x80483b5: file char_array2.c, line 6.
  18. (gdb) break strcpy
  19. Function "strcpy" not defined.
  20. Make breakpoint pending on future shared library load? (y or [n]) y
  21. Breakpoint 2 (strcpy) pending.
  22. (gdb) break 8
  23. Breakpoint 3 at 0x80483d2: file char_array2.c, line 8.
  24. (gdb) run
  25. Starting program: /home/sysadmin/code/c/booksrc/char_array2
  26.  
  27. Breakpoint 1, main () at char_array2.c:7
  28. 7               strcpy(str_a, "Hello world!\n");
  29. (gdb) i r eip
  30. eip            0x80483b5        0x80483b5 <main+17>
  31. (gdb) x/5i $eip
  32. 0x80483b5 <main+17>:    lea    eax,[ebp-0x18]
  33. 0x80483b8 <main+20>:    mov    DWORD PTR [eax],0x6c6c6548
  34. 0x80483be <main+26>:    mov    DWORD PTR [eax+0x4],0x6f77206f
  35. 0x80483c5 <main+33>:    mov    DWORD PTR [eax+0x8],0x21646c72
  36. 0x80483cc <main+40>:    mov    WORD PTR [eax+0xc],0xa
  37. (gdb) continue
  38. Continuing.
  39.  
  40. Breakpoint 3, main () at char_array2.c:8
  41. 8               printf(str_a);
  42. (gdb) i break
  43. Num     Type           Disp Enb Address    What
  44. 1       breakpoint     keep y   0x080483b5 in main at char_array2.c:6
  45.         breakpoint already hit 1 time
  46. 2       breakpoint     keep y   0x00808cb4 <strcpy+4>
  47. 3       breakpoint     keep y   0x080483d2 in main at char_array2.c:8
  48.         breakpoint already hit 1 time
  49. (gdb)
  50.  
  51.  
  52.  
  53.  
  54. Break 2 is being skipped. Maybe strcpy isn't being resolved properly. I'm not sure how to fix it.
  55.  
  56.  
  57.  
  58.  
  59. gdb n00b..