GDB 11 အမှားရှာပြင်ခြင်း ထုတ်ဝေမှု

GDB 11.1 debugger ၏ထုတ်ဝေမှုကိုတင်ပြပြီးဖြစ်သည် (11.x စီးရီး၏ပထမဆုံးထွက်ရှိမှု၊ 11.0 ဌာနခွဲကိုဖွံ့ဖြိုးတိုးတက်မှုအတွက်အသုံးပြုခဲ့သည်)။ GDB သည် ကျယ်ပြန့်သော ပရိုဂရမ်ဘာသာစကားများ (Ada၊ C၊ C++၊ Objective-C၊ Pascal၊ Go၊ Rust စသည်ဖြင့်) အတွက် အရင်းအမြစ်အဆင့် အမှားရှာပြင်ခြင်းကို ပံ့ပိုးပေးသည် (i386၊ amd64၊ ARM၊ Power၊ Sparc၊ RISC - V စသည်ဖြင့်) နှင့် ဆော့ဖ်ဝဲပလပ်ဖောင်းများ (GNU/Linux၊ *BSD၊ Unix၊ Windows၊ macOS)။

အဓိကတိုးတက်မှုများ-

  • TUI (Text User Interface) သည် မောက်စ်လုပ်ဆောင်ချက်များအတွက် ပံ့ပိုးမှုနှင့် မောက်စ်ဘီးဖြင့် အကြောင်းအရာကို လှိမ့်နိုင်မှုတို့ကို ထည့်သွင်းထားသည်။ TUI တွင် လုပ်ဆောင်ခြင်းမရှိသော သော့တွဲများကို GDB သို့ ထပ်ဆင့်ပို့ခြင်းကို ဖွင့်ထားသည်။
  • မှတ်ဉာဏ်ခွဲဝေမှုလုပ်ဆောင်မှုတစ်ခုစီနှင့် မှတ်ဉာဏ်ခွဲဝေမှုလုပ်ဆောင်မှုတစ်ခုစီတွင် တဂ်များကို ချိတ်ဆက်ရန်နှင့် မှန်ကန်သောတက်ဂ်နှင့် ဆက်စပ်မှုရှိရမည်ဖြစ်ပြီး မမ်မိုရီကိုဝင်ရောက်သည့်အခါ ညွှန်တံစစ်ဆေးမှုကို စုစည်းနိုင်စေသည့် ARMv8.5 MTE (MemTag၊ Memory Tagging Extension) ယန္တရားအတွက် ပံ့ပိုးမှုထပ်ထည့်ထားသည်။ Remote Debug Control Protocol သည် တဂ်များကို မန်မိုရီသို့ ချိတ်ဆက်ရန်အတွက် “qMemTags” နှင့် “QMemTags” ပက်ကေ့ဂျ်များအတွက် ပံ့ပိုးပေးပါသည်။
  • ဖွဲ့စည်းမှုပုံစံဖိုင်များကိုဖတ်ရှုခြင်းအတွက် ယုတ္တိဗေဒကို ပြောင်းလဲထားသည်။ .gdbinit ဖိုင်ကို အောက်ပါ အစီအစဉ်အတိုင်း စစ်ဆေးပြီးပါပြီ- $XDG_CONFIG_HOME/gdb/gdbinit၊ $HOME/.config/gdb/gdbinit နှင့် $HOME/.gdbinit။ အဲဒါတွေ။ ပထမဆုံး config subdirectory တွင်၊ ထို့နောက် home directory တွင်သာဖြစ်သည်။
  • “break […] if CONDITION” ကွန်မန်းတွင်၊ အခြေအနေသည် အနည်းဆုံးကိစ္စတစ်ခုတွင် မှန်ကန်ပါက အချို့နေရာများတွင် အခြေအနေတစ်ခု မမှန်ကန်ပါက အမှားအယွင်းထွက်ပေါက်ကို ရပ်တန့်သွားမည်ဖြစ်သည်။
  • x86_64 ဗိသုကာအတွက် စုစည်းထားသော Cygwin ပရိုဂရမ်များအတွက် ထုတ်ပေးသော core dumps အမှားရှာခြင်းအတွက် ထပ်လောင်းပံ့ပိုးမှု။
  • ပုံသေအမှတ်အမျိုးအစားများအပြင် DW_AT_GNU_numerator နှင့် DW_AT_GNU_denominator ကိန်းသေများကို ထည့်သွင်းထားသည်။
  • "startup-quietly on|off" ဆက်တင်ကို ထည့်သွင်းခဲ့သည်။ “ဖွင့်” သောအခါ၊ “-silent” ရွေးစရာနှင့် ဆင်တူသည်။
  • "ptype" command သည် အရွယ်အစားနှင့် အော့ဖ်ဆက်များကို ပြသသည့်အခါ ဆယ်ဂဏန်း သို့မဟုတ် ဒဿမကို ရွေးချယ်ရန် /x" နှင့် "/d" ရွေးချယ်မှုများကို လုပ်ဆောင်သည်။ 'ptype' command ၏ အထွက်တွင် ဆယ်ဂဏန်းတန်တန်ဖိုးများကို အသုံးပြုရန် "print type hex on|off" ဆက်တင်ကို ပေါင်းထည့်ထားသည်။
  • "inferior" command တွင်၊ arguments မပါဘဲခေါ်သောအခါ၊ လက်ရှိ debugging object (inferior) ၏ output ကိုပေးပါသည်။
  • "အချက်အလက်ရင်းမြစ်" အမိန့်၏အထွက်ကို ပြန်လည်လုပ်ဆောင်ပြီးဖြစ်သည်။
  • Added command “style version foreground | နောက်ခံ | ဗားရှင်းနံပါတ်စဉ်စတိုင်ကို ထိန်းချုပ်ရန် ပြင်းထန်မှု။
  • ကွန်မန်းလိုင်းရွေးချယ်စရာအသစ်များ ထပ်ထည့်ထားသည်- “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” ('-break-insert commands အတွက် ) 'နှင့် '-dprintf-insert'), "--force-condition" ('-break-insert' နှင့် '-dprintf-insert' commands အတွက်), "--force" ('-break-condition အတွက်၊ အမိန့်)။
  • '-file-list-exec-source-files' command သည် စီမံဆောင်ရွက်ရမည့် အရင်းအမြစ်ဖိုင်များကို စစ်ထုတ်ရန် ပုံမှန်အသုံးအနှုန်းများကို သတ်မှတ်ခွင့်ပြုသည်။ အမှားရှာပြင်သည့် အချက်အလက်ကို မည်မျှအထိ တင်ထားသည်ကို ညွှန်ပြရန်အတွက် 'ဒီဘာဂ်-အပြည့်အစုံ-ဖတ်ရှုခြင်း' အကွက်ကို အထွက်တွင် ပေါင်းထည့်ထားသည်။
  • Python API တွင် တိုးတက်မှုများကို ပြုလုပ်ထားပါသည်။ Frame object တစ်ခုအတွက် stack အဆင့်ကို ပြန်ပေးရန်အတွက် gdb.Frame.level() နှင့် db.PendingFrame.level() နည်းလမ်းအသစ်များကို ပေါင်းထည့်ထားပါသည်။ ဖမ်းမှတ်တစ်ခုကို အစပျိုးလိုက်သောအခါ၊ Python API သည် gdb.BreakpointEvent ကို gdb.StopEvent အစား gdb.StopEvent အစား ပေးပို့ကြောင်း သေချာစေသည်။ ပတ်ဝန်းကျင် variable များကို လျစ်လျူရှုရန် "python ignore-environment on|off" ဆက်တင်များ နှင့် bytecode ရေးသားခြင်းကို ပိတ်ရန် "python dont-write-bytecode auto|on|off" တို့ကို ထည့်သွင်းထားပါသည်။
  • Guile API တွင် တိုးတက်မှုများကို ပြုလုပ်ထားပါသည်။ လုပ်ထုံးလုပ်နည်းအသစ်များကို တန်ဖိုး-ရည်ညွှန်း-တန်ဖိုး၊ တန်ဖိုး-rvalue-ကိုးကား-တန်ဖိုးနှင့် တန်ဖိုး-const-တန်ဖိုးတို့ကို ထည့်သွင်းထားသည်။
  • လိုအပ်သော စုဝေးမှုမှီခိုမှုများတွင် GMP (GNU Multiple Precision Arithmetic) စာကြည့်တိုက် ပါဝင်သည်။
  • ARM Symbian ပလပ်ဖောင်း (arm*-*-symbianelf*) အတွက် ပံ့ပိုးမှုကို ရပ်ဆိုင်းလိုက်ပါပြီ။

source: opennet.ru

မှတ်ချက် Add