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

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

သော့ တိုးတက်မှုများ:

  • Solaris 10 နှင့် Cell Broadband Engine ပလပ်ဖောင်းများအတွက် ပံ့ပိုးမှုကို ရပ်ဆိုင်းလိုက်ပါပြီ။
  • Texas Instruments ပရိုဆက်ဆာများ (pru-*-elf) တွင်အသုံးပြုသော PRU (Programmable Real-time Unit) စနစ်ခွဲ၏ Simulator အသစ်တစ်ခု ထပ်ထည့်ထားသည်။
  • Multi-threaded မုဒ်တွင် အမှားရှာအမှားသင်္ကေတများကို အမြန်တင်ရန်အတွက် စမ်းသပ်မုဒ်တစ်ခု ထပ်ထည့်ခဲ့သည် ( 'maint set worker-threads unlimited' ဆက်တင်မှတဆင့် ဖွင့်ထားသည်)
  • အမိန့်ပေးအမည်များတွင် သင်္ကေတ '.' ကို သုံးနိုင်သည်။
  • Fortran ရှိ nested functions နှင့် subroutines များတွင် breakpoints များသတ်မှတ်နိုင်မှုကို ပေါင်းထည့်ထားပါသည်။
  • ပေါင်းစည်းထားသောပုံစံသို့ရောက်စေရန်နှင့် command များဖတ်နိုင်မှုကို တိုးတက်စေရန်အတွက် လုပ်ငန်းကိုဆောင်ရွက်ခဲ့ပါသည်။
  • တက်ဘ်ကီးကို အသုံးပြု၍ အလိုအလျောက်ဖြည့်သွင်းခြင်းကို ခွင့်ပြုသည့် dash စာလုံး ('OPT') ကို အသုံးပြု၍ အမိန့်ပေးသည့် အငြင်းအခုံများကို ဖြတ်သန်းရန်အတွက် စံအခြေခံအဆောက်အအုံကို အကောင်အထည်ဖော်ထားသည်။
  • “printf” နှင့် “eval” ညွှန်ကြားချက်များသည် ပရိုဂရမ်ရှိ လုပ်ဆောင်ချက်ကို တိုက်ရိုက်မခေါ်ဆိုဘဲ C နှင့် Ada စတိုင်များတွင် ကြိုးများထုတ်ပေးခြင်းအတွက် အထောက်အပံ့ကို ဖော်ဆောင်ပေးသည်။
  • “အချက်အလက်ရင်းမြစ်များ” ညွှန်ကြားချက်တွင် ပုံမှန်အသုံးအနှုန်းတစ်ခုအပေါ် အခြေခံ၍ အထွက်ဖိုင်များကို စစ်ထုတ်ခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည်။
  • "သတ်မှတ်ပရင့်ဘောင်-ဆင်ခြေများ" ဆက်တင်တွင်၊ "တည်ရှိခြင်း" ဘောင်ကို သတ်မှတ်သည့်အခါတွင် အမည်နှင့်တန်ဖိုးကိုပြသမည့်အစား ငြင်းခုံမှုများအတွက်သာ ရှိနေခြင်းညွှန်ပြချက် “…” ကို ပြသထားသည်။
  • အင်တာဖေ့စ်မှာ တူးအီ "focus", "winheight", "+", "-", ">, "<" ဟူသော ညွှန်ကြားချက်များသည် ယခုအခါ အသေးအဖွဲ ၊
  • "print", "compile print", "backtrace", "frame" အမိန့်များအတွက်
    အသုံးပြုရန်၊ "tfaas" နှင့် "faas" ရွေးစရာများကို ကမ္ဘာလုံးဆိုင်ရာ ဆက်တင်များကို အစားထိုးရန် လုပ်ဆောင်ထားသည် (ဥပမာ၊ "set print […]" မှတဆင့် သတ်မှတ်ထားသော အရာများ);

  • အချို့သော headers များ၏ output ကို disable လုပ်ရန် "-q" option ကို "info types" command တွင် ထည့်သွင်းထားပါသည်။
  • ဆက်တင်များတွင်၊ "အကန့်အသတ်မရှိ" တန်ဖိုးအစား၊ သင်သည် ယခု "u" ကို သတ်မှတ်နိုင်ပါပြီ။
  • ညွှန်ကြားချက်အသစ်များ ထည့်သွင်းထားသည်-
    • သင်၏ကိုယ်ပိုင်ရှေ့ဆက်အမိန့်များကိုသတ်မှတ်ရန် "define-prefix"
    • "|" command တစ်ခုကို run ပြီး output ကို shell command သို့ ပြန်ညွှန်းရန် "pipe"
    • ယာယီပြောင်းလဲထားသော ဆက်တင်များဖြင့် သတ်မှတ်ထားသော အမိန့်ကို လုပ်ဆောင်ရန် "with"
    • GDB မှ လုပ်ရိုးလုပ်စဉ်ခွဲတစ်ခုကို ခေါ်ဆိုနိုင်ခြင်း ရှိ၊ မရှိ ထိန်းချုပ်ရန် “မေ-ခေါ်ဆိုမှု-လုပ်ဆောင်ချက်များကို သတ်မှတ်”
    • "finish" command ကိုအသုံးပြုသောအခါ "finish" command ကိုအသုံးပြုသောအခါ return value ၏ display ကိုထိန်းချုပ်ရန် "set print finish [on|off]"
    • nested တည်ဆောက်ပုံများ၏ output ကိုကန့်သတ်ရန် "ပရင့် max-depth ကိုသတ်မှတ်ပါ"
    • အထွက်တန်ဖိုးများ ဖော်မတ်ချခြင်းကို ဖွင့်ရန်/ပိတ်ရန် “ပရင့်ကုန်ကြမ်း-တန်ဖိုးများ [ဖွင့်|ပိတ်]” ကို သတ်မှတ်ပါ။
    • မှတ်တမ်းဖိုင်တစ်ခုသို့ အမှားအယွင်းအထွက်ကို သိမ်းဆည်းခြင်းအား ထိန်းချုပ်ရန် “အမှားအယွင်းလမ်းကြောင်းညွှန်ခြင်း [ဖွင့်|ပိတ်]” ကို သတ်မှတ်ပါ။
    • "သတ်မှတ်စတိုင်" ညွှန်ကြားချက်အသစ်များ
    • stack frame state ကိုပြသသောအခါတွင်ပုံနှိပ်သင့်သောအချက်အလက်များကိုသတ်မှတ်ရန် "ပရင့်ဘောင်-အင်ဖို […]"
    • TUI (Text User Interface) အင်တာဖေ့စ်တွင် ကုဒ်ကိုပြသရန်အတွက် ကျစ်လစ်သိပ်သည်းသောမုဒ်ကို ဖွင့်ရန် "set tui compact-source"
    • Fortran modules များအကြောင်း အချက်အလက်တောင်းခံရန် “အချက်အလက် မော်ဂျူးများ […]”
    • “set/show print raw frame-arguments” အစား၊ command “set/show print raw-frame-arguments” ကို အဆိုပြုသည် (ခွဲထွက်တစ်ခုအဖြစ် space အစား dash ကိုသုံးသည်);
  • ထိန်းချုပ်ဆော့ဖ်ဝဲ interface တွင် GDB/MI “-complete”၊ “-catch-throw”၊ “-catch-rethrow”၊ “-catch-catch”၊ “-symbol-info-functions”၊ “-symbol-info-types”၊
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" နှင့် "-symbol-info-module-variables" များသည် တူညီသော GDB ညွှန်ကြားချက်များနှင့် ညီမျှသည်။ ပုံမှန်အားဖြင့်၊ MI စကားပြန်၏ တတိယဗားရှင်းကို အသက်ဝင်သည် (-i=mi3);

  • အသစ်ထည့်သွင်းထားသော ကိန်းရှင်များ-
    • $_gdb_major၊ $_gdb_minor;
    • $_gdb_setting၊ $_gdb_setting_str၊ $_gdb_maint_setting၊
    • $_gdb_maint_setting_str
    • $_cimag၊ $_creal
    • $_shell_exitcode၊ $_shell_exitsignal
  • gdbinit စနစ်ဖိုင်များဆီသို့ လမ်းကြောင်းကို ဆုံးဖြတ်ရန် "--with-system-gdbinit-dir" option ကို ထည့်သွင်းခဲ့သည်။
  • Python API အတွက် တိုးတက်မှုများစွာ ပြုလုပ်ထားပါသည်။ Windows တွင် Python 3 ဖြင့် တည်ဆောက်နိုင်မှုကို ပေါင်းထည့်ထားသည်။
  • စည်းဝေးပွဲပတ်ဝန်းကျင်အတွက် လိုအပ်ချက်များ တိုးလာခဲ့သည်။ GDB နှင့် GDBserver ကိုတည်ဆောက်ရာတွင် ယခု အနည်းဆုံး GNU make 3.82 လိုအပ်ပါသည်။ ပြင်ပစာဖတ်လိုင်းစာကြည့်တိုက်ဖြင့် တည်ဆောက်သည့်အခါ၊ အနည်းဆုံး GNU readline 7.0 လိုအပ်သည်။

source: opennet.ru

မှတ်ချက် Add