...(gdb) <b>watch do_lint_old</b>Β /* Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠΎΡΠΊΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ */Hardware watchpoint 1: do_lint_old(gdb) <b>run --lint-old 'BEGIN { print "hello, world" }'</b>Β /* ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ */Starting program: /home/arnold/Gnu/gawk/gawk-3.1.4/gawk βlint-old'BEGIN { print "hello, world" }'Hardware watchpoint 1: do_lint_oldHardware watchpoint 1: do_lint_oldHardware watchpoint 1: do_lint_oldΒ /* ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ */Hardware watchpoint 1: do_lint_oldHardware watchpoint 1: do_lint_oldOld value = 0 /* ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ */New value = 10x420c4219 in _getopt_internal() from /lib/i686/libc.so.6(gdb) <b>where</b> /* Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅ΠΊΠ° */#0 0x420c4219 in _getopt_internal() from /lib/i686/libc.so.6#1 0x420c4e83 in getopt_long() from /lib/i686/libc.so.6#2 0x080683a1 in main (argc=3, argv=0xbffff8a4) at main.c:293#3 0x420158d4 in __libc_start_main() from /lib/i686/libc.so.6(gdb) <b>quit</b> /* ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ */The program is running. Exit anyway? (y or n) <b>y</b> /* ΠΠ° */GDB ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΌΡ Π·Π΄Π΅ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ. Π₯ΠΎΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ GDB Π±ΠΎΠ»ΡΡΠΎΠ΅, Π΅Π³ΠΎ ΡΡΠΎΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ»
NEWSΠ‘ΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ GDB, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ GDB Π² ΡΠ°ΠΉΠ»Π΅
gdb/doc/refcard.tex$ <b>cd gdb/doc</b> /* ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ doc */$ <b>make refcard.ps</b> /* ΠΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ */ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π½Π° Ρ Π΄Π²ΡΡ ΡΡΠΎΡΠΎΠ½ Π»ΠΈΡΡΠ° Π±ΡΠΌΠ°Π³ΠΈ 8,5Γ11 Π΄ΡΠΉΠΌΠΎΠ² [168] (ΡΠ°Π·ΠΌΠ΅Ρ Β«letterΒ») Π² Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΌ (landscape) ΡΠΎΡΠΌΠ°ΡΠ΅. Π Π½Π΅ΠΉ Π½Π° ΡΠ΅ΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ²ΠΎΠ΄ΠΊΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ GDB. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π΅Π΅ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ GDB.
15.4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΡ ΠΏΡΠΎΡΡΡΡ Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ . Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ΄ ΠΈΠ· Π½ΠΈΡ .
15.4.1. ΠΠΎΠ΄ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ.
15.4.1.1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ²
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
#ifdef DEBUGfprintf(stderr, "myvar = %d\n", myvar);fflush(stderr);#endif /* DEBUG */ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
-DDEBUGfprintf()Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΡΡΠ»Π°ΠΉΡΠ΅ Π²
stderrfflush()ΠΠΠΠΠ§ΠΠΠΠ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
DEBUGMYAPPDEBUGΠ Π°Π·Π±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
#ifdef#ifdef/* ΠΠΠ’ΠΠΠΠΠ 1 --- ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ, Π½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ, ΡΠΌ. ΡΠ΅ΠΊΡΡ *//* Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: */ #ifdef MYAPPDEBUG#define DPRINT0(msg) fprintf(stderr, msg)#define DPRINT1(msg, v1) fprintf(stderr, msg, v1)#define DPRINT2(msg, v1, v2) fprintf(stderr, msg, v1, v2)#define DPRINT3(msg, v1, v2, v3) fprintf(stderr, msg, v1, v2, v3)#else /* ! MYAPPDEBUG */#define DPRINT0(msg)#define DPRINT1(msg, v1)#define DPRINT2(msg, v1, v2)#define DPRINT3(msg, v1, v2, v3)#endif /* ! MYAPPDEBUG *//* Π ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: */DPRINT1("myvar = %d\n", myvar);...DPRINT2("v1 = %d, v2 = %f\n", v1, v2);ΠΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ², ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠΈΡΠ»ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ Π²Ρ ΡΠ°ΠΌΠΈ. ΠΠΎΠ³Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½
MYAPPDEBUGDPRINT<i>x</i>()fprintf()MYAPPDEBUGassert()assert()assert()