ΡΠ΅Π»ΠΈΠ· ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° (ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΡΠ΅ΡΠΈΠΈ 9.x, Π²Π΅ΡΠΊΠ° 9.0 ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ). GDB ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ° ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Ada, C, C++, Objective-C, Pascal, Go ΠΈ Ρ.Π΄.) Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ (i386, amd64, ARM, Power, Sparc, RISC-V ΠΈ Ρ.Π΄.) ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ (GNU/Linux, *BSD, Unix, Windows, macOS).
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ :
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌ Solaris 10 ΠΈ Cell Broadband Engine;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ PRU (Programmable Real-time Unit), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Texas Instruments (pru-*-elf);
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π±ΡΡΡΡΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΡ βmaint set worker-threads unlimitedβ);
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° β.β;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Fortran;
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ ΡΡΠΈΠ»Ρ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄;
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ°ΡΠ½Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ c ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠΈΡΠ΅ (β-OPTβ), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ;
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ Β«printfΒ» ΠΈ Β«evalΒ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠΎΠΊ Π² ΡΡΠΈΠ»ΡΡ Π‘ΠΈ ΠΈ ΠΠ΄Π° Π±Π΅Π· Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅;
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«info sourcesΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ;
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Β«set print frame-argumentsΒ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«presenceΒ», ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ Β«β¦Β» Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ;
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«focusΒ», Β«winheightΒ», Β«+Β», Β«-Β«, Β«>Β», Β«<Β» ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ Π² ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²;
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Β«printΒ», Β«compile printΒ», Β«backtraceΒ», Β«frame
applyΒ», Β«tfaasΒ» ΠΈ Β«faasΒ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· Β«set print [β¦]Β»); - Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«info typesΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-qΒ» Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²;
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²ΠΌΠ΅ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Β«unlimitedΒ» ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Β«uΒ»;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
- Β«define-prefixΒ» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄;
- Β«|Β» ΠΈΠ»ΠΈ Β«pipeΒ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (shell);
- Β«withΒ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ;
- Β«set may-call-functionsΒ» Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· GDB;
- Β«set print finish [on|off]Β» Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«finishΒ»;
- Β«set print max-depthΒ» Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ;
- Β«set print raw-values [on|off]Β» Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ;
- Β«set logging debugredirect [on|off]Β» Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² Π»ΠΎΠ³-ΡΠ°ΠΉΠ»;
- Π‘Π΅ΡΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Β«set styleΒ»;
- Β«set print frame-info [β¦]Β» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ°Π΄ΡΠ° ΡΡΠ΅ΠΊΠ°;
- Β«set tui compact-sourceΒ» Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ TUI (Text User Interface);
- Β«info modules [β¦]Β» Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΡ Fortran;
- ΠΠΌΠ΅ΡΡΠΎ Β«set/show print raw frame-argumentsΒ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«set/show print raw-frame-argumentsΒ» (Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ±Π΅Π»Π°);
- Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«-completeΒ», Β«-catch-throwΒ», Β«-catch-rethrowΒ», Β«-catch-catchΒ», Β«-symbol-info-functionsΒ», Β«-symbol-info-typesΒ»,
Β«-symbol-info-variablesΒ», Β«-symbol-info-modulesΒ», Β«-symbol-info-module-functionsΒ» ΠΈ Β«-symbol-info-module-variablesΒ», ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ GDB. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π° ΡΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° MI (-i=mi3); - ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅:
- $_gdb_major, $_gdb_minor;
- $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
- $_gdb_maint_setting_str
- $_cimag, $_creal
- $_shell_exitcode, $_shell_exitsignal
- Π ΡΠ±ΠΎΡΠΎΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ configure Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βwith-system-gdbinit-dirΒ» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ gdbinit;
- ΠΠ½Π΅ΡΠ΅Π½Π° ΠΏΠΎΡΡΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π² Python API. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ c Python 3 Π² Windows;
- ΠΠΎΠ²ΡΡΠ΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΌΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ GDB ΠΈ GDBserver ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ GNU make 3.82. ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ readline ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ GNU readline 7.0.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

