GDB 11.1 డీబగ్గర్ విడుదల అందించబడింది (11.x సిరీస్ యొక్క మొదటి విడుదల, 11.0 శాఖ అభివృద్ధి కోసం ఉపయోగించబడింది). GDB వివిధ హార్డ్వేర్లపై (i386, amd64, ARM, Power, Sparc, RISC) విస్తృత శ్రేణి ప్రోగ్రామింగ్ భాషలకు (Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) సోర్స్-లెవల్ డీబగ్గింగ్కు మద్దతు ఇస్తుంది. - V, మొదలైనవి) మరియు సాఫ్ట్వేర్ ప్లాట్ఫారమ్లు (GNU/Linux, *BSD, Unix, Windows, macOS).
ముఖ్య మెరుగుదలలు:
- TUI (టెక్స్ట్ యూజర్ ఇంటర్ఫేస్) మౌస్ చర్యలకు మరియు మౌస్ వీల్తో కంటెంట్ను స్క్రోల్ చేయగల సామర్థ్యాన్ని జోడించింది. TUIలో ప్రాసెస్ చేయని కీ కాంబినేషన్లను GDBకి ఫార్వార్డ్ చేయడం ప్రారంభించబడింది.
- ARMv8.5 MTE (MemTag, మెమరీ ట్యాగింగ్ ఎక్స్టెన్షన్) మెకానిజం కోసం మద్దతు జోడించబడింది, ఇది ప్రతి మెమరీ కేటాయింపు ఆపరేషన్కు ట్యాగ్లను బైండ్ చేయడానికి మరియు మెమరీని యాక్సెస్ చేస్తున్నప్పుడు పాయింటర్ చెక్ని నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది, ఇది సరైన ట్యాగ్తో అనుబంధించబడి ఉండాలి. రిమోట్ డీబగ్ కంట్రోల్ ప్రోటోకాల్ ట్యాగ్లను మెమరీకి బైండింగ్ చేయడానికి “qMemTags” మరియు “QMemTags” ప్యాకేజీలకు మద్దతును అందిస్తుంది.
- కాన్ఫిగరేషన్ ఫైల్లను చదవడానికి లాజిక్ మార్చబడింది. .gdbinit ఫైల్ ఇప్పుడు క్రింది క్రమంలో తనిఖీ చేయబడింది: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit మరియు $HOME/.gdbinit. ఆ. మొదట config ఉప డైరెక్టరీలో, ఆపై మాత్రమే హోమ్ డైరెక్టరీలో.
- “బ్రేక్ […] if CONDITION” కమాండ్లో, కనీసం ఒక సందర్భంలో షరతు చెల్లుబాటు అయినట్లయితే, నిర్దిష్ట ప్రదేశాల్లో షరతు చెల్లుబాటు కానప్పుడు లోపం అవుట్పుట్ నిలిపివేయబడుతుంది.
- x86_64 ఆర్కిటెక్చర్ కోసం కంపైల్ చేయబడిన Cygwin ప్రోగ్రామ్ల కోసం రూపొందించబడిన కోర్ డంప్లను డీబగ్గింగ్ చేయడానికి మద్దతు జోడించబడింది.
- స్థిర-పాయింట్ రకాలు, అలాగే DW_AT_GNU_numerator మరియు DW_AT_GNU_denominator స్థిరాంకాల కోసం మద్దతు జోడించబడింది.
- "ప్రారంభ-నిశ్శబ్దంగా ఆన్|ఆఫ్" సెట్టింగ్ జోడించబడింది; "ఆన్" అయినప్పుడు, "-సైలెంట్" ఎంపికను పోలి ఉంటుంది.
- పరిమాణాలు మరియు ఆఫ్సెట్లను ప్రదర్శించేటప్పుడు హెక్సాడెసిమల్ లేదా డెసిమల్ని ఎంచుకోవడానికి "ptype" కమాండ్ /x" మరియు "/d" ఎంపికలను అమలు చేస్తుంది. 'ptype' కమాండ్ అవుట్పుట్లో హెక్సాడెసిమల్ విలువలను ఉపయోగించడానికి "ప్రింట్ టైప్ హెక్స్ ఆన్|ఆఫ్" సెట్టింగ్ జోడించబడింది.
- "inferior" కమాండ్లో, వాదనలు లేకుండా కాల్ చేసినప్పుడు, ప్రస్తుత డీబగ్గింగ్ ఆబ్జెక్ట్ (inferior) యొక్క అవుట్పుట్ అందించబడుతుంది.
- “సమాచార మూలం” ఆదేశం యొక్క అవుట్పుట్ మళ్లీ పని చేయబడింది.
- “శైలి వెర్షన్ ముందుభాగం | కమాండ్ జోడించబడింది నేపథ్యం | తీవ్రత" సంస్కరణ నంబరింగ్ శైలిని నియంత్రించడానికి.
- కొత్త కమాండ్ లైన్ ఎంపికలు జోడించబడ్డాయి: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—క్వాలిఫైడ్” ('-బ్రేక్-ఇన్సర్ట్ కమాండ్ల కోసం ) ' మరియు '-dprintf-insert'), "--force-condition" ('-break-insert' మరియు '-dprintf-insert' ఆదేశాల కోసం), "--force" ('-బ్రేక్-కండిషన్ కోసం 'ఆదేశం).
- '-file-list-exec-source-files' కమాండ్ ప్రాసెస్ చేయవలసిన సోర్స్ ఫైల్లను ఫిల్టర్ చేయడానికి సాధారణ వ్యక్తీకరణలను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది. డీబగ్గింగ్ సమాచారం ఎంత వరకు లోడ్ చేయబడిందో సూచించడానికి అవుట్పుట్కు 'డీబగ్-పూర్తిగా చదవండి' ఫీల్డ్ జోడించబడింది.
- పైథాన్ APIకి మెరుగుదలలు చేయబడ్డాయి. ఫ్రేమ్ ఆబ్జెక్ట్ కోసం స్టాక్ స్థాయిని అందించడానికి gdb.Frame.level() మరియు db.PendingFrame.level() కొత్త పద్ధతులు జోడించబడ్డాయి. క్యాచ్పాయింట్ ట్రిగ్గర్ చేయబడినప్పుడు, gdb.StopEvent బదులుగా gdb.BreakpointEvent పంపబడిందని పైథాన్ API నిర్ధారిస్తుంది. ఎన్విరాన్మెంట్ వేరియబుల్స్ని విస్మరించడానికి "పైథాన్ ఇగ్నోర్-ఎన్విరాన్మెంట్ ఆన్|ఆఫ్" మరియు బైట్కోడ్ రైటింగ్ని డిసేబుల్ చేయడానికి "పైథాన్ డోంట్-రైట్-బైట్కోడ్ ఆటో|ఆన్|ఆఫ్" సెట్టింగ్లు జోడించబడ్డాయి.
- Guile APIకి మెరుగుదలలు చేయబడ్డాయి. కొత్త విధానాలు విలువ-సూచన-విలువ, విలువ-నిర్ధారణ-సూచన-విలువ మరియు విలువ-కాన్స్ట్-విలువ జోడించబడ్డాయి.
- అవసరమైన అసెంబ్లీ డిపెండెన్సీలలో GMP (GNU మల్టిపుల్ ప్రెసిషన్ అరిథ్మెటిక్) లైబ్రరీ ఉంటుంది.
- ARM Symbian ప్లాట్ఫారమ్ (ఆర్మ్*-*-symbianelf*) కోసం మద్దతు నిలిపివేయబడింది.
మూలం: opennet.ru