Undodb: Copyright 2005 Undo Ltd. http://www.undo-software.com/ Undodb: build-id: Undodb: Licensed to test user (support@undo-software.com) Undodb: License type: test, expires Sun Nov 27 01:36:33 2005. Using host libthread_db library "/lib/libthread_db.so.1". (gdb) b main Breakpoint 1 at 0x80483e8: file test/test46.c, line 10. (gdb) run Starting program: test/_yabs/test46,debug,gcc3.3.5,os=Linux,cpu=i686,osv=2.4.27-1-386.exe Breakpoint 1, main () at test/test46.c:10 10 foo( 1); (gdb) next foo: i=1 11 fprintf( stderr, "main: %i\n", __LINE__); (gdb) next main: 11 13 foo( 2); (gdb) next foo: i=2 14 fprintf( stderr, "main: %i\n", __LINE__); (gdb) next main: 14 16 foo( 3); (gdb) buntil main () at test/test46.c:14 14 fprintf( stderr, "main: %i\n", __LINE__); (gdb) buntil main () at test/test46.c:13 13 foo( 2); (gdb) bnexti 0x0804840c in main () at test/test46.c:11 11 fprintf( stderr, "main: %i\n", __LINE__); (gdb) buntil undodb: buntil failed: couldn't go back to eip in 0x080483f0-0x080483f4 undodb: buntil failed undodb: because: `search' command failed. undodb: because: no match for search in entire history: eip inside [0x80483f0..0x80483f4> 0x0804840c in main () at test/test46.c:11 11 fprintf( stderr, "main: %i\n", __LINE__); (gdb) info register eip eip 0x804840c 0x804840c (gdb) buntil undodb: buntil failed: couldn't go back to eip in 0x080483f0-0x080483f4 undodb: buntil failed undodb: because: `search' command failed. undodb: because: no match for search in entire history: eip inside [0x80483f0..0x80483f4> 0x0804840c in main () at test/test46.c:11 11 fprintf( stderr, "main: %i\n", __LINE__); (gdb) info register eip eip 0x804840c 0x804840c (gdb) stepi 0x080482c8 in ?? () (gdb) info register eip eip 0x80482c8 0x80482c8 (gdb) next Cannot find bounds of current function (gdb) bt #0 0x080482c8 in ?? () #1 0x08048411 in main () at test/test46.c:11 (gdb) bgoto main main () at test/test46.c:9 9 { (gdb) bstepi 0x40963410 in __libc_start_main () from /lib/libc.so.6 (gdb) bt #0 0x40963410 in __libc_start_main () from /lib/libc.so.6 #1 0x08048311 in _start () at ../sysdeps/i386/elf/start.S:102 (gdb) c Continuing. Breakpoint 1, main () at test/test46.c:10 10 foo( 1); (gdb) bt #0 main () at test/test46.c:10 (gdb) c Continuing. foo: i=3 main: 17 Program received signal SIGINT, Interrupt. 0x409d6807 in _exit () from /lib/libc.so.6 (gdb) undodb: The program has exited, but is still being debugged. undodb: (You may use undodb commands to go backwards.) (gdb) info register eip eip 0x409d6807 0x409d6807 (gdb) bget count is 3092 (gdb) info breakpoints Num Type Disp Enb Address What 1 breakpoint keep y 0x080483e8 in main at test/test46.c:10 breakpoint already hit 2 times (gdb) q The program is running. Exit anyway? (y or n) y Undodb: Copyright 2005 Undo Ltd. http://www.undo-software.com/ Undodb: build-id: Undodb: Licensed to test user (support@undo-software.com) Undodb: License type: test, expires Sun Nov 27 01:36:33 2005. GNU gdb 6.3-debian Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-linux"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) dir test/gzip Source directories searched: test/gzip:$cdir:$cwd (gdb) start -f test/gzip/file_copy Breakpoint 1 at 0x804903e: file gzip.c, line 434. Starting program: test/gzip/gzip -f test/gzip/file_copy main (argc=3, argv=0xbffffab4) at gzip.c:434 434 progname = basename(argv[0]); (gdb) bget count is 262 (gdb) Program received signal SIGINT, Interrupt. 0x080521f7 in short_loop () (gdb) bget count is 2339994 (gdb) bstepi 0x080521f5 in short_loop () (gdb) bget count is 2339993 (gdb) bt #0 0x080521f5 in short_loop () #1 0x40a62ff4 in ?? () from /lib/libc.so.6 #2 0x00000000 in ?? () #3 0x40015cc0 in ?? () from /lib/ld-linux.so.2 #4 0xbffff958 in ?? () #5 0x0804c7ff in deflate () at deflate.c:692 Previous frame inner to this frame (corrupt stack?) (gdb) bget count is 2339993 (gdb) bgoton 1051807 0x0804c38d in fill_window () at deflate.c:542 542 for (n = 0; n < HASH_SIZE; n++) { (gdb) bget count is 1051807 (gdb) bstepi 0x0804c3d4 in fill_window () at deflate.c:542 542 for (n = 0; n < HASH_SIZE; n++) { (gdb) bget count is 1051806 (gdb) bstepi fill_window () at deflate.c:542 542 for (n = 0; n < HASH_SIZE; n++) { (gdb) bget count is 1051806 (gdb) Program received signal SIGINT, Interrupt. 0x0804c3bc in fill_window () at deflate.c:544 544 head[n] = (Pos)(m >= WSIZE ? m-WSIZE : NIL); (gdb) bget count is 2659994 (gdb) undodb getdebug undodb: debug text is: (gdb) break deflate.c:727 Breakpoint 2 at 0x804c904: file deflate.c, line 727. c (gdb) c Continuing. Breakpoint 2, deflate () at deflate.c:727 727 match_available = 0; (gdb) delete 2 (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:717 717 prev_length -= 2; (gdb) bnext deflate () at deflate.c:716 716 lookahead -= prev_length-1; (gdb) bget count is 2865842 (gdb) bstepi 0x0804c873 in deflate () at deflate.c:711 711 flush = ct_tally(strstart-1-prev_match, prev_length - MIN_MATCH); (gdb) bget count is 2865842 (gdb) Program received signal SIGINT, Interrupt. deflate () at deflate.c:719 719 strstart++; (gdb) bget count is 4619994 (gdb) bstepi 0x0804c902 in deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bget count is 4619993 (gdb) bt #0 0x0804c902 in deflate () at deflate.c:726 #1 0x0804beaa in zip (in=7, out=8) at zip.c:75 #2 0x08049cbc in treat_file (iname=0xbffffbfb "test/gzip/file_copy") at gzip.c:814 #3 0x08049524 in main (argc=3, argv=0xbffffab4) at gzip.c:593 (gdb) bget count is 4619993 (gdb) undodb getdebug undodb: debug text is: (gdb) break deflate.c:727 Breakpoint 3 at 0x804c904: file deflate.c, line 727. c (gdb) c Continuing. Breakpoint 3, deflate () at deflate.c:727 727 match_available = 0; (gdb) delete 3 (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:726 726 } while (--prev_length != 0); (gdb) bnext deflate () at deflate.c:720 720 INSERT_STRING(strstart, hash_head); (gdb) bnext deflate () at deflate.c:719 719 strstart++; (gdb) bnext deflate () at deflate.c:717 717 prev_length -= 2; (gdb) bnext deflate () at deflate.c:716 716 lookahead -= prev_length-1; (gdb) bget count is 4619926 (gdb) Program received signal SIGINT, Interrupt. fill_window () at deflate.c:547 547 m = prev[n]; (gdb) bget count is 5639994 (gdb) bgoton 5296796 0x080521f7 in short_loop () (gdb) bget count is 5296796 (gdb) bt #0 0x080521f7 in short_loop () #1 0x40a62ff4 in ?? () from /lib/libc.so.6 #2 0x00000000 in ?? () #3 0x40015cc0 in ?? () from /lib/ld-linux.so.2 #4 0xbffff958 in ?? () #5 0x0804c7ff in deflate () at deflate.c:692 Previous frame inner to this frame (corrupt stack?) (gdb) bget count is 5296796 (gdb) bt #0 0x080521f7 in short_loop () #1 0x40a62ff4 in ?? () from /lib/libc.so.6 #2 0x00000000 in ?? () #3 0x40015cc0 in ?? () from /lib/ld-linux.so.2 #4 0xbffff958 in ?? () #5 0x0804c7ff in deflate () at deflate.c:692 (gdb) bget count is 5296796 (gdb) bgoton 163790 deflate () at deflate.c:719 719 strstart++; (gdb) bget count is 163790 (gdb) bt #0 deflate () at deflate.c:719 #1 0x0804beaa in zip (in=7, out=8) at zip.c:75 #2 0x08049cbc in treat_file (iname=0xbffffbfb "test/gzip/file_copy") at gzip.c:814 #3 0x08049524 in main (argc=3, argv=0xbffffab4) at gzip.c:593 (gdb) bget count is 163790 (gdb) bgoton 2796379 0x0804c3fd in fill_window () at deflate.c:548 548 prev[n] = (Pos)(m >= WSIZE ? m-WSIZE : NIL); (gdb) d (gdb) c Continuing. Program received signal SIGINT, Interrupt. 0x409d6807 in _exit () from /lib/libc.so.6 (gdb) undodb: The program has exited, but is still being debugged. undodb: (You may use undodb commands to go backwards.) (gdb) q The program is running. Exit anyway? (y or n) y