DDDebug چیست؟
DDDebug مجموعه از ابزارهای debugging و حاوی چندین module مختلف است: یک memory profiler، یک thread viewer، یک module viewer و یک exception handler ارتقا یافته. به سادگی می توانید DDDebug را یا با استفاده از رابط کاربری گرافیکی و یا API آن در پروژه های Delphi خودتان بگنجانید و از آن بهره بگیرید. ابزار memory profiler در این مجموعه، memory allocation ها را دنبال می کند، نوع allocation را تشخیص می دهد (این که آیا به خاطر ساخت یک object، string، array یا record انجام شده است) و اطلاعات به روزی را درباره memory usage و آمارهای مربوطه ارائه می کند.
با استفاده از DDDebug می توانید چندین thread را profile کنید، و نیز می توانید object ها، string ها، array ها و record ها را تشخیص دهید. این نرم افزار از package ها نیز پشتیبانی می کند. از جمله ویژگی های خوب DDDebug این است که یادگیری آن بسیار ساده است و برای کار با آن نیازی به دانش قبلی خاصی نخواهید داشت. این مجموعه ابزار از فایل های استاندارد MAP استفاده می کند و یک GUI یا رابط کاربری گرافیکی برای مانیتورینگ و debugging دارد. همچنین DDDebug مستقل از compiler switch ها کار می کند. به طور کلی استفاده کردن از DDDebug بسیار آسان است، تقریباً کل کاری که باید برای وارد کردن آن به پروژه خودتان انجام دهید این است که DDDMainForm را به uses clause پروژه خودتان اضافه کنید. توصیه می شود که از رابط کاربری گرافیکی در نظر گرفته شده برای مانیتورینگ memory allocations استفاده کنید. فرم از یک نمای فهرست وار تشکیل شده است که allocated block های memory را همراه با جزئیاتی برای هر entry، یک label که entry ها را به صورت خلاصه نشان می دهد، و نیز برخی check box ها و button های متشکل از پرکاربرد ترین function ها را نمایش می دهد. آیتم های این list view را می توانید با کلیک کردن روی header های هر ستون به صورت دلخواه مرتب سازی کنید. با علامت زدن چک باکس Live می توانید به صورت خودکار list view را به روز کنید. توصیه می شود برای انجام کارهای multi thread و / یا کارهایی که زمان بر هستند این گزینه را غیر فعال کنید. در ادامه لینک دانلود نرم افزار DDDebug به همراه کرک آن ارائه شده است که می توانید آن را دریافت کنید.
ویژگی ها و قابلیت های نرم افزار DDDebug:
- تشخیص object ها، string ها، array ها و record ها
- امکان profile کردن multi thread
- استفاده از فایل های استاندارد MAP
- عملکرد مستقل از compiler switch ها
- دارای رابط کاربری گرافیکی برای monitoring و debugging
- استفاده آسان بدون نیاز به دانش تخصصی
- شناسایی memory آزاد شده premature
- و بسیاری موارد دیگر.