/* GDB session for lab #1 Cs256 Micah Acinpura */ bash-2.05$ c++ -Wall -gstabs -o div div.cpp bash-2.05$ gdb div GNU gdb 4.18 Copyright 1998 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-unknown-freebsd"... (gdb) break intdiv Breakpoint 1 at 0x8048766: file div.cpp, line 13. (gdb) run Starting program: /clients/users/acinael/cs256/div Numerator: 52 Denominator: 17 Breakpoint 1, intdiv (numerator=52, denominator=17) at div.cpp:13 13 int quotient = 0, product = 0; (gdb) next 14 assert( numerator >= 0); (gdb) print numerator $1 = 52 (gdb) print numerator/denominator $2 = 3 (gdb) display product 1: product = 0 (gdb) display quotient 2: quotient = 0 (gdb) next 15 assert( denominator > 0); 2: quotient = 0 1: product = 0 (gdb) next 17 assert( product == 0); 2: quotient = 0 1: product = 0 (gdb) next 18 assert( quotient == 0); 2: quotient = 0 1: product = 0 (gdb) delete 1 (gdb) finish Run till exit from #0 intdiv (numerator=52, denominator=17) at div.cpp:18 0x8048945 in main () at div.cpp:47 47 cout << num << "/" << den << "=" << intdiv(num, den) << endl; Value returned is $3 = 3 (gdb) break 47 Breakpoint 2 at 0x804892a: file div.cpp, line 47. (gdb) cont Continuing. 52/17=3 Another? y Numerator: 17 Denominator: 52 Breakpoint 2, main () at div.cpp:47 47 cout << num << "/" << den << "=" << intdiv(num, den) << endl; (gdb) step intdiv (numerator=17, denominator=52) at div.cpp:13 13 int quotient = 0, product = 0; 2: quotient = 1 1: product = 671641921 (gdb) step 14 assert( numerator >= 0); 2: quotient = 0 1: product = 0 (gdb) watch product Hardware watchpoint 3: product (gdb) cont Continuing. #0 intdiv (numerator=17, denominator=52) at div.cpp:14 14 assert( numerator >= 0); ptrace(PT_SETDBREGS) failed: Invalid argument Hardware watchpoint 3: product Old value = 0 New value = 52 0x8048830 in intdiv (numerator=17, denominator=52) at div.cpp:25 25 product += denominator; 2: quotient = 1 1: product = 52 (gdb) delete 3 (gdb) cont Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. 0x8048984 in main () at div.cpp:47 47 cout << num << "/" << den << "=" << intdiv(num, den) << endl; (gdb) delete Delete all breakpoints? (y or n) y (gdb) cont Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. 0x28088119 in ostream::operator<< () from /usr/lib/libstdc++.so.3 (gdb) next Single stepping until exit from function __ls__7ostreamPCc, which has no line number information. Program received signal SIGTRAP, Trace/breakpoint trap. 0x280a4348 in ostream::operator<< () from /usr/lib/libstdc++.so.3 (gdb) step Single stepping until exit from function __ls__7ostreamPFR7ostream_R7ostream, which has no line number information. 17/52=0 main () at div.cpp:49 49 cout << "Another? \n"; (gdb) cont Continuing. Another? Program received signal SIGTRAP, Trace/breakpoint trap. 0x28087141 in istream::operator>> () from /usr/lib/libstdc++.so.3 (gdb) y Undefined command: "y". Try "help". (gdb) eit Undefined command: "eit". Try "help". (gdb) exit Undefined command: "exit". Try "help". (gdb) quit The program is running. Exit anyway? (y or n) y bash-2.05$