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

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

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

  • GNU/Linux/LoongArch နှင့် GNU/Linux/CSKY ဗိသုကာများပေါ်တွင် အမှားရှာပြင်သည့်ဂါဂါနှင့် GDBserver လုပ်ဆောင်ရန် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • အပြိုင်အဆိုင်မုဒ် (async) တွင် Windows ပလပ်ဖောင်းပေါ်တွင် အလုပ်လုပ်ရန် ပံ့ပိုးမှုကို အကောင်အထည်ဖော်ခဲ့သည်။
  • FreeBSD ပလပ်ဖောင်းတွင်၊ TLS (Thread Local Storage) variable များကို ARM နှင့် AArch64 Architectures အတွက် ပံ့ပိုးပေးထားပြီး AArch64 ဗိသုကာအတွက် ဟာ့ဒ်ဝဲလ် ခွဲထွက်မှတ်များ (watchpoint) ကို အသုံးပြုနိုင်စွမ်းကို ထောက်ပံ့ပေးထားပါသည်။
  • LoongArch စနစ်များရှိ GNU/Linux ပတ်ဝန်းကျင်တွင်၊ floating point တွက်ချက်မှုများကို ပံ့ပိုးပေးထားပါသည်။
  • "maintenance set ignore-prologue-end-flag|libopcodes-styling" နှင့် "maintenance print frame-id" နှင့် "maintenance print frame-id" တို့ကို ပေါင်းစပ်ထည့်သွင်းထားသည့် ပုံစံကို ထိန်းချုပ်ရန် ညွှန်ကြားချက်များ (set style disassembler *)။
  • လေးဘိုက်အုပ်စုများတွင် binary တန်ဖိုးများပြသမှုကို ထိန်းချုပ်ရန် "set print nibbles [on|off]" နှင့် "show print nibbles" commands များကို ထည့်သွင်းထားသည်။
  • Python API တွင် တိုးတက်မှုများကို ပြုလုပ်ထားပါသည်။ ညွှန်ကြားချက်များကို ဖြုတ်တပ်ရန်အတွက် API တစ်ခုကို ထည့်သွင်းထားပြီး၊ gdb.BreakpointLocation အမျိုးအစားကို အကောင်အထည်ဖော်ပြီးဖြစ်ကာ လုပ်ဆောင်ချက်များ gdb.format_address၊ gdb.current_language နှင့် gdb.print_options တို့ကို ထည့်သွင်းထားသည်။
  • GDB/MI စီမံခန့်ခွဲမှု အင်တာဖေ့စ်၏ ပထမဗားရှင်းကို ရပ်ဆိုင်းထားပြီး GDB 14 တွင် ဖယ်ရှားပါမည်။
  • ELF ဖိုင်များတွင် zstd အယ်လဂိုရီသမ်ကို အသုံးပြု၍ ချုံ့ထားသော အမှားရှာကဏ္ဍများအတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။
  • ထည့်သွင်းထားသော ကိန်းရှင်အသစ်များ- $_inferior_thread_count၊ $_hit_bpnum၊ $_hit_locno။
  • 'disassemble /r' နှင့် 'record instruction-history /r' commands များ၏ output format ကို objdump ၏ output နှင့် ကိုက်ညီစေရန် ချိန်ညှိထားပါသည်။ ဖော်မတ်ဟောင်းကို ပြန်ရန်၊ “/b” မုဒ်ကို ထည့်သွင်းထားသည်။
  • TUI (Text User Interface) တွင်၊ လက်ရှိအနေအထားညွှန်ပြချက်ဖြင့် မီးမောင်းထိုးပြထားသည့် အရင်းအမြစ်နှင့် စည်းဝေးပွဲကုဒ်ပုံစံကို ပိတ်ထားသည်။
  • အသုံးပြုသူအမိန့်စာများကိုမှတ်တမ်းတင်ရန်အတွက် "document" command ကိုသုံးနိုင်သည်။
  • ARMv8.5 MTE (MemTag၊ Memory Tagging Extension) ယန္တရားကို အသုံးပြုသောအခါတွင် အသုံးပြုသည့် မမ်မိုရီတက်ဂ်ဒေတာဖြင့် အမှိုက်ပုံများ ဖန်တီးနိုင်စေမည့် စွမ်းရည်ကို ပေါင်းထည့်ထားပြီး၊ ၎င်းသည် မှတ်ဉာဏ်ခွဲဝေမှုဆိုင်ရာ လုပ်ဆောင်မှုတစ်ခုစီတွင် တဂ်များကို ပေါင်းစည်းနိုင်စေကာ လိုအပ်သည့် မမ်မိုရီကို ဝင်ရောက်သည့်အခါ ညွှန်တံစစ်ဆေးမှုကို စုစည်းနိုင်စေမည်ဖြစ်သည်။ မှန်ကန်သော tag နှင့်ဆက်စပ်သည်။
  • DBX လိုက်ဖက်ညီမှုမုဒ်ကို ရပ်ဆိုင်းလိုက်ပါပြီ။
  • Python 2 ကို အသုံးပြု၍ တည်ဆောက်ခြင်းအတွက် ပံ့ပိုးမှုကို ရပ်ဆိုင်းလိုက်ပါပြီ။
  • ကွန်မန်းများသည် "debug aix-solib on|off"၊ "debug aix-solib ကိုပြသပါ"၊ "set debug solib-frv on|off" နှင့် "show debug solib-frv" တို့ကို ဖယ်ရှားပြီး နှင့် "set/show commands debug” ကို solib အစား သုံးသင့်သည်။

source: opennet.ru

မှတ်ချက် Add