شاید تا به حال به این فکر افتاده بودید
که برنامهی شما چه مقداری از RAM ، CPU و ... را اشغال کرده است، و جواب آن را به طور مثال در Task Manager ویندوز پیدا کرده باشید. اما آیا تا به حال به این فکر رفته اید
که خب این برنامه چرا باید این مقدار از حافظه را اشغال کند و بخواهید به طور دقیق
مقدار حافظه را چک کنید، که چه آبجکت هایی از چه کلاس هایی چه مقدار از رم را
اشغال کرده است. در این مقاله قصد دارم که ابزاری به شما معرفی کنم که شما به کمک آن
میتوانید به راحتی در هنگام Debug برنامه خود
مصرف حافظه برنامهی خود را با جزئیات آن بسنجید .
همچنین شما میتوانید با اعمال یک سری از تغییرات بر روی برنامه متوجه شوید که این
تغییرات چقدر بر مصرف حافظهی شما تاثیر داشته اند.
با Memory Usage Tool که در VS2015 وجود دارد، شما میتوانید در حالت عیب یابی (debugging) ، مصرف حافظهی خود را بسنجید.
· Break-Aware Live Graph
یکی از قابلیتهای کلیدی Diagnostic Tools window این است که فقط در زمانی که برنامه در حال اجرا با در زمانی که به وسیلهی breakpoint متوقف شده باشد،گراف را ثبت میکند. پس وقتی که به وسیلهی یک breakpoint برنامه متوقف شده باشد، این گراف هیچ پیشروی نخواهد کرد مگر اینکه شما برنامه را ادامه دهید. در این صورت گراف با شرایط فعلی برنامه شما پیشروی خواهد کرد.
شما میتوانید این ابزار را در موقعی که برنامهی شما
در حال اجراست در سمت راست مشاهده کنید. همچنین میتوانید در هنگامی که برنامهی شما از حالت اجرا خارج شد این ابزار را از مسیر
Debug -> Show
Diagnostic Tools بیاورید
خب حالا وقت آن رسیده که درباره طرز کار این ابزار با هم صحبت کنیم. همانطور که گفتم وقتی برنامه در حال اجراست، این ابزار به طور خودکار در سمت راست صفحه ظاهر خواهد شد. برای اینکه بتوانید مصرف حافظه با جزئیات آن را ببینید میتوانید به روش زیر عمل کنید.
ابتدا بر روی گزینهی Memory Usage کلیک کرده و گزینهی Take Snapshot را انتخاب کنید
وقتی که بر روی این گزینه کلیک کردید مصرف حافظهی شما به جزئیات به شما نشان داده میشود.
حال میتوانید با انتخاب مقدار Object از مصرف حافظهی کلاسهای خود و آبجکتهای خود مطلع شوید.
با این ابزار شما قادر خواهید بود که میزان تغییر حافظه بر اساس مقایسه بین دو Snapshot را بسنجید. برای اینکار شما میتوانید بعد از اعمال تغییرات، و یا بعد از زمانی مشخص دوباره بر روی گزینهی Take Snapshot کلیک کنید. در این حالت شما میتوانید تغییری که بر روی حافظهی شما اعمال گردیده را مشاهده کنید.