HeadlinesBriefing HeadlinesBriefing.com

C++26 <debugging> হেডার যোগ করা standard

Hacker News •
×

C++26 three noexcept ফাংশন std::breakpoint(), std::is_debugger_present() এবং std::breakpoint_if_debugging() এর সাথে standard <debugging> হেডার যোগ করা। এর মাধ্যমে __debugbreak() বা inline assembly जैसे প্ল্যাটফর্ম-স্পেসিফিক ম্যাক্রোর প্রয়োজন নেই। হেডার freestanding এবং প্রতিস্থাপনযোগ্য, যা বেসমেটল সিস্টেমে কাস্টম ইম্প্লিমেন্টেশন অনুমতি দেয়। std::breakpoint() debugger attached হলে debugger halt ট্রিগার করে, অন্যথায় বাস্তবায়ন-নির্ধারিত আচরণ (যেমন SIGTRAP) দেখায়। std::is_debugger_present() real-timeে active debugger attachment পরীক্ষা করে, প্ল্যাটফর্ম-স্পেসিফিক ইম্প্লিমেন্টেশন (উদাহরণস্বরূপ, Windows API বা Linux上的 /proc/self/status) ব্যবহার করে। এর প্রতিস্থাপনযোগ্য ব্যবহার freestanding পরিবেশে সম্ভব। std::breakpoint_if_debugging() দুটি মিলে শর্তাধীন breakpoint প্যাটTERN, যা Boost.Test, Catch2, Dear ImGui এবং Unreal Engine ব্যবহার করে। C++ প্রকল্পে দীর্ঘস্থায়ী輪重新發明standardise করে, cross-platform debugging টুলস সরলীকরণ করে।

উৎস: Hacker News · সারাংশ: HeadlinesBriefing