GDB 12.1 -debuggerin julkaisu on esitelty (12.x-sarjan ensimmäinen julkaisu, 12.0-haara käytettiin kehitykseen). GDB tukee lähdetason virheenkorjausta useille ohjelmointikielille (Ada, C, C++, Objective-C, Pascal, Go, Rust jne.) eri laitteilla (i386, amd64, ARM, Power, Sparc, RISC). - V jne.) ja ohjelmistoympäristöt (GNU/Linux, *BSD, Unix, Windows, macOS).
Tärkeimmät parannukset:
- Oletusarvoisesti monisäikeinen tila virheenkorjaussymbolien lataamiseen on käytössä, mikä nopeuttaa käynnistystä.
- Parannettu tuki C++-malleille.
- Tuki työskentelylle FreeBSD-alustalla asynkronisessa tilassa (async) on otettu käyttöön.
- On mahdollista poistaa käytöstä GNU Source Highlightin käyttö ja käyttää Pygments-kirjastoa syntaksin korostamiseen.
- "Clone-inferior" -komento tarkistaa, että TTY-, CMD- ja ARGS-asetukset kopioidaan alkuperäisestä debug-objektista (alempi) uuteen debug-objektiin. Se myös varmistaa, että kaikki ympäristömuuttujien muutokset, jotka on tehty käyttämällä 'set ympäristö' tai 'unset environment' -komentoja, kopioidaan uuteen debug-objektiin.
- "print"-komento tukee liukulukujen tulostamista ja määrittää taustalla olevan arvon muodon, kuten heksadesimaali ("/x").
- Lisätty tuki debuggerin ja GDB-palvelimen suorittamiselle GNU/Linux/OpenRISC-arkkitehtuurissa (tai 1k*-*-linux*). Lisätty tuki virheenkorjaussovelluksille GNU/Linux/LoongArch-kohdealustaan (loongarch*-*-linux*). S+core-kohdealustan (pisteet-*-*) tuki on lopetettu.
- GDB 12 julkistetaan viimeisenä julkaisuna, joka tukee rakentamista Python 2:lla.
- Vanhentunut ja poistetaan GDB 13 DBX -yhteensopivuustilassa.
- GDB/MI-hallintasovellusliittymä sallii komennon "-add-inferior" käytön ilman parametreja tai "--no-connection"-lipun kanssa yhteyden perimiseksi nykyisestä virheenkorjausobjektista tai ajamisen ilman yhteyttä.
- Python-sovellusliittymään on tehty parannuksia. Pythonissa on mahdollisuus toteuttaa GDB/MI-komentoja. Lisätty uudet tapahtumat gdb.events.gdb_exiting ja gdb.events.connection_removed, gdb.Architecture.integer_type()-funktio, gdb.TargetConnection-objekti, gdb.Inferior.connection-ominaisuus, gdb.RemoteTargetConnection.send_packet.In-metodi, gdb.ttribuutti. gdb.Type.is_scalar ja gdb.Type.is_signed.
Lähde: opennet.ru