PDA

View Full Version : سوال: فرق debuge با release



mabbaszadegan
جمعه 01 خرداد 1388, 16:00 عصر
با عرض سلام خدمت تمام مهندسان عزیز
فرق debuge با release توی vs 2008 چیه؟

adinochestva
جمعه 01 خرداد 1388, 16:09 عصر
http://blogs.msdn.com/jaybaz_ms/archive/2004/06/28/168314.aspx

mabbaszadegan
شنبه 02 خرداد 1388, 10:03 صبح
یعنی فقط حجم release کمتره؟
منظورم اینه که در مورد اجراش روی سیستمهای دیگه تفاوتی وجود نداره؟

Nima_NF
شنبه 02 خرداد 1388, 13:21 عصر
هر تابعی که نوشته می شود معمولا یکسری کد دیگر نیز همراهش نوشته می شود تا مثلا اگر در جایی داخل تابع خطایی داده شد، آن را به debugger ارسال کند. این کدها فقط در حالت debug هستند و اجرا می شوند. حتی در مواقعی دیالوگ باکسی برای خطا نشان می دهند. در برخی موارد باعث کندی حتی 50% می شوند، اما در عوض پیدا کردن خطا راحت تر می شود، که در هنگام نوشتن ضروری هست. در حالت release این کدها اجرا یا کامپایل نمی شوند و طبق معمول کار می کند.

شما می توانید برنامه را در حالت release کامپایل کنید، اما به شکل debugging یعنی (release with debugging)، این یعنی نسخه نهایی شما از dll های اصلی ویندوز استفاده می کند اما تا زمانی که توسط کامپایلر اجرا شود امکان دریافت خطاهایی احتمالی که ++visual C می تواند تشخیص دهد به شما اعلام می شود. (خطاهای overflow، buffer overrun و ..)

ضمنا دقت کنید که همیشه نسخه نهایی شما که به کامپیوتر دیگران برده می شود باید release باشد تا کندی بی جهت بابت debug نداشته باشید. اگر در حالت debug باشد کامپایلر ++Visual C یا SDK ویندوز باید در کامپیوتر کاربر نصب باشد تا برنامه اجرا شود، چون برنامه شما از dll های حالت debug استفاده می کند که در ویندوز وجود ندارد.

mabbaszadegan
شنبه 02 خرداد 1388, 23:45 عصر
چجوری باید برنامه رو کامپایل کنم تا روی همه کامپیوترها بدون نیازبه ++vc اجرا بشه؟