کتاب ساخت دیباگر با C++ راهنمایی عملی و گامبهگام برای توسعهدهندگانی است که میخواهند با نوشتن یک دیباگر از صفر برای سیستمهای لینوکس x64، اسرار دیباگ کردن را کشف کنند. این کتاب شما را از یک پوشه خالی در فایلسیستم تا ساخت یک دیباگر کامل که قادر به تنظیم نقاط توقف (Breakpoints)، پیمایش کد، دستکاری متغیرها و پشتیبانی از چندنخی است، هدایت میکند. این فرآیند نهتنها به شما کمک میکند تا دیباگر خود را بسازید، بلکه دانش عمیقی در مورد سیستمهای عامل، کامپایلرها، تست نرمافزار و برنامهنویسی سطح پایین ارائه میدهد که در توسعه روزمره شما کاربرد خواهد داشت.
ساخت دیباگر از صفر: یادگیری فرآیند کامل توسعه دیباگر برای سیستمهای لینوکس x64 با استفاده از C++.
مفاهیم پیشرفته دیباگینگ: تسلط بر تنظیم نقاط توقف نرمافزاری و سختافزاری، خواندن/نوشتن در رجیسترها و مدیریت چندنخی.
آموزشهای عملی: پروژههای گامبهگام برای پیادهسازی قابلیتهایی مانند اتصال به فرآیند، نمایش دیساسمبلی و ارزیابی عبارات.
دانش عمیق سیستم: درک عمیقتر معماری کامپیوتر، فایلهای شیء، اطلاعات دیباگ و پشتهنوردی (Stack Unwinding).
شامل نسخه PDF رایگان: با خرید نسخه چاپی یا کیندل، نسخه PDF کتاب بهصورت رایگان ارائه میشود.
اگر دیباگرها برای شما مانند جادو به نظر میرسند، این کتاب با رویکردی عملی و پروژهمحور، شما را در فرآیند ساخت یک دیباگر کامل برای سیستمهای لینوکس x64 همراهی میکند. از اتصال به یک فرآیند و خواندن/نوشتن رجیسترها گرفته تا پیادهسازی نقاط توقف نرمافزاری و سختافزاری، این کتاب شما را با ابزارها و تکنیکهای موردنیاز برای دیباگینگ پیشرفته آشنا میکند. هر فصل به شما قابلیت جدیدی اضافه میکند و در عین حال دانشی عمیق در مورد سیستمهای عامل، معماری x64، و استانداردهایی مانند DWARF را ارائه میدهد. این کتاب نهتنها برای توسعهدهندگانی که میخواهند دیباگر بسازند، بلکه برای کسانی که به دنبال درک عمیقتر از برنامهنویسی سطح پایین هستند، ایدهآل است.
اتصال به فرآیندها: یادگیری نحوه اتصال دیباگر به یک فرآیند در حال اجرا.
مدیریت رجیسترها: خواندن و نوشتن در رجیسترهای CPU برای کنترل اجرای برنامه.
نقاط توقف نرمافزاری و سختافزاری: پیادهسازی نقاط توقف برای توقف و بررسی کد.
دیساسمبلی و حافظه: نمایش کد دیساسمبلی و مدیریت دسترسی به حافظه.
پشتیبانی از چندنخی: مدیریت نخها و سناریوهای پیچیدهتر دیباگینگ.
ارزیابی عبارات و متغیرها: کار با عبارات DWARF و دستکاری متغیرها.
درک سیستمهای عامل و کامپایلرها: یادگیری فایلهای شیء، اطلاعات دیباگ و پشتهنوردی.
این کتاب برای توسعهدهندگان C++ که به برنامهنویسی سطح پایین، دیباگینگ، یا مهندسی سیستم علاقهمند هستند، مناسب است. دانش پایهای از C++، لینوکس و مفاهیم برنامهنویسی مانند حافظه و رجیسترها ضروری است. این کتاب برای توسعهدهندگانی که میخواهند درک عمیقی از ابزارهای دیباگینگ و نحوه عملکرد آنها به دست آورند، ایدهآل است.
بخش اول: راهاندازی و مفاهیم پایه
راهاندازی پروژه
تنظیم محیط توسعه و آمادهسازی برای ساخت دیباگر.
کامپایل و معماری کامپیوتر
درک اصول معماری x64 و فرآیندهای کامپایل.
اتصال به فرآیند
یادگیری نحوه اتصال دیباگر به یک فرآیند در حال اجرا.
پایپها، Procfs و تست خودکار
استفاده از سیستم فایل Procfs و پیادهسازی تستهای خودکار.
بخش دوم: رجیسترها و نقاط توقف
رجیسترها
خواندن و نوشتن در رجیسترهای CPU برای کنترل اجرای برنامه.
تست رجیسترها با اسمبلی x64
آزمایش رجیسترها با استفاده از کدهای اسمبلی.
نقاط توقف نرمافزاری
پیادهسازی نقاط توقف نرمافزاری برای توقف اجرای کد.
حافظه و دیساسمبلی
مدیریت حافظه و نمایش کد دیساسمبلی.
نقاط توقف سختافزاری و واچپوینتها
استفاده از نقاط توقف سختافزاری برای دیباگینگ پیشرفته.
بخش سوم: سیگنالها و فایلهای شیء
سیگنالها و syscallها
مدیریت سیگنالها و فراخوانهای سیستمی در دیباگر.
فایلهای شیء
درک ساختار فایلهای شیء و نقش آنها در دیباگینگ.
اطلاعات دیباگ
کار با اطلاعات دیباگ برای ردیابی اجرای برنامه.
جداول خطوط (Line Tables)
استفاده از جداول خطوط برای نگاشت کد منبع به دستورات.
بخش چهارم: دیباگینگ پیشرفته
نقاط توقف در سطح منبع و پیمایش
پیادهسازی نقاط توقف در سطح کد منبع و پیمایش خطبهخط.
اطلاعات فریم فراخوانی
درک فریمهای فراخوانی برای ردیابی جریان برنامه.
پشتهنوردی (Stack Unwinding)
مدیریت پشته برای دیباگینگ خطاها و کرشها.
کتابخانههای اشتراکی
کار با کتابخانههای دینامیک در فرآیند دیباگینگ.
بخش پنجم: چندنخی و ارزیابی عبارات
چندنخی
پشتیبانی از دیباگینگ برنامههای چندنخی.
عبارات DWARF
استفاده از استاندارد DWARF برای مدیریت عبارات دیباگ.
متغیرها و انواع
دستکاری متغیرها و کار با انواع داده در دیباگر.
ارزیابی عبارات
پیادهسازی ارزیابی عبارات برای تعاملات پیشرفته.
بخش ششم: موضوعات پیشرفته
موضوعات پیشرفته
کاوش در تکنیکهای پیشرفته دیباگینگ و بهینهسازی دیباگر.
نظرات کاربران