GDB Debugger 11 නිකුතුව

GDB 11.1 debugger නිකුතුව ඉදිරිපත් කර ඇත (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, MemTag, Memory Tagging Extension) යාන්ත්‍රණය සඳහා සහය එක් කරන ලදී, එමඟින් ඔබට එක් එක් මතක වෙන් කිරීමේ ක්‍රියාවලියට ටැග් බැඳීමට සහ මතකය ප්‍රවේශ කිරීමේදී පොයින්ටර් චෙක්පතක් සංවිධානය කිරීමට ඉඩ සලසයි, එය නිවැරදි ටැගය සමඟ සම්බන්ධ විය යුතුය. Remote Debug Control Protocol මගින් "qMemTags" සහ "QMemTags" පැකේජ සඳහා ටැග් මතකයට බන්ධනය කිරීම සඳහා සහය සපයයි.
  • වින්‍යාස ගොනු කියවීමේ තර්කනය වෙනස් කර ඇත. .gdbinit ගොනුව දැන් පහත අනුපිළිවෙලට පරීක්ෂා කර ඇත: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit සහ $HOME/.gdbinit. එම. මුලින්ම config උප බහලුම තුල, පසුව පමණක් home directory තුල.
  • “break […] if CONDITION” විධානය තුළ, යම් යම් තැන් වල කොන්දේසියක් වලංගු නොවන විට, එම කොන්දේසිය අවම වශයෙන් එක් අවස්ථාවක වලංගු නම්, දෝෂ ප්‍රතිදානය නතර වේ.
  • x86_64 ගෘහ නිර්මාණ ශිල්පය සඳහා සම්පාදනය කරන ලද Cygwin වැඩසටහන් සඳහා උත්පාදනය කරන ලද මූලික ඩම්ප් නිදොස් කිරීම සඳහා සහය එක් කරන ලදී.
  • ස්ථාවර ලක්ෂ්‍ය වර්ග, මෙන්ම DW_AT_GNU_numerator සහ DW_AT_GNU_denominator නියතයන් සඳහා සහය එක් කරන ලදී.
  • "ආරම්භක-නිහඬව සක්‍රිය| අක්‍රිය" සැකසුම එකතු කරන ලදි; "on" විට, "-silent" විකල්පයට සමානයි.
  • "ptype" විධානය මඟින් ප්‍රමාණ සහ ඕෆ්සෙට් පෙන්වන විට ෂඩාස්‍ර හෝ දශම තේරීම සඳහා /x" සහ "/d" විකල්ප ක්‍රියාත්මක කරයි. 'ptype' විධානයේ ප්‍රතිදානයේ ෂඩාස්‍රාකාර අගයන් භාවිතා කිරීමට "මුද්‍රණ වර්ගයේ හෙක්ස් ඔන්|ඕෆ්" සැකසුම එක් කරන ලදී.
  • "අඩු" විධානය තුළ, තර්ක නොමැතිව ඇමතීමෙන්, වත්මන් නිදොස් කිරීමේ වස්තුවේ (අඩු) ප්රතිදානය සපයනු ලැබේ.
  • "තොරතුරු මූලාශ්ර" විධානයේ ප්රතිදානය නැවත සකස් කර ඇත.
  • “style version foreground | විධානය එක් කරන ලදී පසුබිම | තීව්‍රතාවය" අනුවාද අංක කිරීමේ විලාසය පාලනය කිරීමට.
  • නව විධාන රේඛා විකල්ප එකතු කරන ලදි: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” ('-break-insert විධාන සඳහා ) ' සහ '-dprintf-insert'), "--force-condition" ('-break-insert' සහ '-dprintf-insert' විධාන සඳහා), "--force" ('-break-condition සඳහා ' විධානය).
  • '-file-list-exec-source-files' විධානය මඟින් සැකසිය යුතු මූලාශ්‍ර ගොනු පෙරීමට සාමාන්‍ය ප්‍රකාශන නියම කිරීමට ඔබට ඉඩ සලසයි. නිදොස් කිරීමේ තොරතුරු කොපමණ ප්‍රමාණයකට පූරණය වී ඇත්ද යන්න දැක්වීමට ප්‍රතිදානයට 'නිදොස්කරණය-සම්පූර්ණයෙන්ම කියවන' ක්ෂේත්‍රයක් එක් කර ඇත.
  • Python API වෙත වැඩිදියුණු කිරීම් සිදු කර ඇත. රාමු වස්තුවක් සඳහා අට්ටි මට්ටම ආපසු ලබා දීමට gdb.Frame.level() සහ db.PendingFrame.level() නව ක්‍රම එක් කරන ලදී. ඇල්ලීමේ ලක්ෂ්‍යයක් ක්‍රියාරම්භ කරන විට, Gdb.StopEvent වෙනුවට gdb.BreakpointEvent යවන බව Python API සහතික කරයි. පරිසර විචල්‍යයන් නොසලකා හැරීමට "pythonignignor-environment on|off" සහ bytecode ලිවීම අක්‍රිය කිරීමට "python dont-write-bytecode auto|on|off" යන සැකසුම් එකතු කරන ලදී.
  • Guile API වෙත වැඩිදියුණු කිරීම් සිදු කර ඇත. නව ක්‍රියා පටිපාටි අගය-යොමු-අගය, අගය-rvalue-reference-value සහ value-const-value එකතු කර ඇත.
  • අවශ්‍ය එකලස් කිරීමේ පරායත්තතා අතරට GMP (GNU Multiple Precision Arithmetic) පුස්තකාලය ඇතුළත් වේ.
  • ARM Symbian වේදිකාව සඳහා සහාය (arm*-*-symbianelf*) නතර කර ඇත.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න