Glibc Memory Management, Not Your Mem Leak

گه گاهی واسه‌تون پیش اومده که برنامه‌ای نوشتید (که مخصوصا خیلی بزرگ هم بوده باشه) و سعی کردید هیچ جایی memory leak نداشته باشید و هیچ داده اضافه‌ای داخل containerهاتون نگه داری نکرده باشید و یا اگه این طور بوده، سعی کردید در بازه‌های زمانی مشخص، تو کدی که نوشتید عملیات cleanup روانجام بدید که الکی هیچ حافظه اضافه‌ای به برنامه‌تون اختصاص داده نشده باشه. اگه همه این کارها رو کردین ولی دیدین برنامه‌تون «رم خوری» داره، حتما این ویدئو رو ببینید. شاید اشکال کار جای دیگه‌ست!

بیشتر بخوانید

Understanding Kernel Log for Segfault

اگه تا الان هیچ اعتنایی به لاگ kernel زمانی که برنامه‌تون segfault می‌داد نمی‌کردین، بهتون پیشنهاد می‌کنم حتما این ویدئو رو ببینید. ممکنه (مثل تجربه من) روزی برسه که دسترسی به هیچ شیوه‌ای واسه فهمیدن مشکل برنامه‌تون غیر از تحلیل همین دو خط لاگ نداشته باشین.

بیشتر بخوانید

windbg-in-usermode

windbg in usermode – Chapter 10: Memory

در دهمین و آخرین پست از مجموعه آموزشی windbg در usermode به مبحث Memory می‌پردازیم.

commandهایی که قراره در این قسمت پوشش بدیم، commandهایی هست که با استفاده از اون‌ها می‌تونید مقادیر خانه‌های حافظه رو مشاهده کنید و یا اون‌ها رو دستکاری کنید.

بیشتر بخوانید

windbg-in-usermode

windbg in usermode – Chapter 9: Call stack

در نهمین پست از مجموعه آموزشی windbg در usermode به مبحث Call Stack می‌پردازیم.
commandهایی که قراره در این قسمت پوشش بدیم، commandهایی هست که با استفاده از اون‌ها می‌تونید عملیاتی نظیر لیست فراخوانی‌های اخیر همراه با پارامترهای آن‌ها، dump گرفتن از پشته و نمایش محتوای آن را انجام بدید.

بیشتر بخوانید

windbg-in-usermode

windbg in usermode – Chapter 8: Tracing and stepping

در هشتمین پست از مجموعه آموزشی windbg در usermode به مبحث Tracing and steppingها می‌پردازیم.
commandهایی که قراره در این قسمت پوشش بدیم، commandهایی هست که با استفاده از اون‌ها می‌تونید debugee رو به صورت گام به گام، اجرا تا اولین return، اجرا تا اولین call، پیش ببرید، به همراه چندین دستور جهت debug کردن نظیر نمایش محتوای registerها و unassemble کردن بخشی از حافظه.

بیشتر بخوانید