آخرین اخبار و مقالات و مطالب پیرامون اشکال زدایی در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران
بر روی این دامنه اینترنتی سیستم مدیریت محتوا
پارس سی ام اس
نصب شده است که نرم افزاری قوی جهت طراحی سایت
می باشد. طراحی وب
با استفاده از پرتال
( پورتال
) پارس منجر به طراحی وب سایت
شما می شود. طراحی وب سایت
کپی رایت پورتال
پارس
هیچ برنامه نویسی نمی تواند ادعا کند کدی که می نویسد، در اولین بار اجرا، بی شک درست کار خواهد کرد. حتی ماهرترین برنامه نویسان هم کد بی نقص نمی نویسند و همواره نیاز است که کدهای خود را رفع ایراد کنند تا از مشکلات آن با خبر شود، اما این اشکال زدایی یعنی چه و به چه صورت می توان آن را رفع کرد؟ شما یک برنامه نوشته اید که خروجی آن مطابق با نتیجه دلخواه شما نیست و کدهای شما هم از نظر منطقی درست به نظر می آیند، ولی خروجی آن درست نیست. در این زمان باید خط به خط برنامه را گشت و مشکل را یافت. در غیر اینصورت با افزایش حجم و تعداد خطوط برنامه، تصحیح هر کد به دشواری انجام خواهد شد. یکی از راه های یافتن اشکال این است که در هر مرحله مهم از برنامه، متغیرهای کد خود را مشاهده کنید و مطمئن شوید که درست در کدام خط و کجای برنامه داده های شما اشتباها تغییر می کنند. بعد از گذرانیدن این مرحله، باید به بررسی قطعه کدی که داده را خراب می کند بپردازید.یکی دیگر از روش های رفع خطا، استفاده از آزمایش واحد است. در این روش شما توابعی که نوشته اید را می آزمایید تا از درستی خروجی آن ها مطمئن شوید. برای این کار بسته های کاربردی مختلفی تولید شده است که کار را برای تست هر تابع شما راحت تر می کند.روش دیگر، استفاده از ابزارهای اشکال زدایی (debugger) است. این ابزارها تمامی این امور را خودشان انجام می دهند و در هر لحظه خروجی نرم افزار را به شما نشان می دهند. به این ترتیب متوجه خواهید شد که دقیقا در کجای برنامه خود داده های خراب تولید می کنید. برخی از این ابزارها به همراه محیط توسعه سیستم (ide) عرضه می شوند و برخی به صورت افزونه قابل دریافت هستند. از آنجا که برنامه نویسان ویژوال استودیوی زیادی در داخل کشورمان داریم و بیشتر برنامه نویسان قدرت این محیط را به خوبی درک کرده اند، سراغ یکی از ابزارهای دیباگ ویژوال استودیو می رویم.
visual studio debugger این برنامه به همراه تمامی نسخه های ویژوال استودیو منتشر شده است و امکانات زیادی دارد که می توان از میان آن ها به موارد زیر اشاره کرد:1- یکسان کردن سورس و سمبل کدها به طور کامل2- اضافه شدن به پردازش های در حال اجرای روی سیستم برای اشکال زدایی (از این روش به منظور اشکال زدایی سرویس های ویندوزی نوشته شده در ویژوال استودیو استفاده می شود.)3- امکان اشکال زدایی برنامه های نوشته شده در دات نت و برنامه های محلی نوشته شده در ++c 4- امکان اشکال زدایی به صورت از راه دور5- قابلیت های ویژه و حرفه ای برای گذاشتن نقطه توقف (breakpoint)6- نمایش داده ها و وضعیت آنها.حال که با برخی از ویژگی های دیباگر ویژوال استودیو آشنا شدیم، نحوه استفاده از آن را در محیط ویژوال استودیو با هم مرور خواهیم کرد: در بخش منوها، با انتخاب گزینه debug، می توانید برنامه خود را در مود اشکال زدا یا بدون اشکال زدا اجرا کنید.اما تفاوت این دو حالت در چیست؟ در حالت اشکال زدا یک فایل شامل سیمبل های برنامه در کنار فایل کامپایل شده ایجاد می شود. با استفاده از این فایل می توان دوباره برنامه را اشکال زدایی کرد و حتی امکان سواستفاده از آن را به هکرها خواهید داد. ولی در حالت بدون اشکال زدا یا عرضه (release) فایل شامل سیمبل ها فعال نخواهد شد و گزینه های بهینه سازی کامپایلر فعال می شوند و از نظر حجم فایل ایجاد شده کوچک تر از فایل اصلی خواهد بود و سرعت اجرا شدن در این دو حالت در بعضی از الگوریتم ها تفاوت زیادی خواهند داشت.
امیربهاالدین سبط الشیخ
... گذشته از این، استفاده از روش مذکور سبب افزایش حجم فایل اجرایی پس از کامپایل، کندی در بارگذاری و اجرای برنامه، سخت تر شدن انجام عملیات اشکال زدایی (دیباگ)، بالا بردن میزان استفاده از حافظه اصلی و تحمیل بار مضاعف بر دوش پردازنده به دلیل استفاده مکرر از حلقه های تکرار و تصمیم گیری می شود ...
... ) 3– طراحی های ساده برای اشکال زدایی، معتبر کردن، ویرایش و مهندسی دوباره ساده ترند ...
... - پیاده سازی تکنولوژی (technology implementation): ایجاد یک سیستم فنی منوط به انجام مجموعه ای از فعالیت ها و دانش خاص است: زبان ها و پروتکل ها، کدینگ و اشکال زدایی، تست و ارزیابی ...
... این کار debug (اشکال زدایی) برنامه را راحت تر و نگهداری کد را ساده تر می کند ...
... این نرم افزار که مکمل نرم افزار اشکال زدایی فایرباگ (firebug) است زمان بارگذاری صفحه را تحلیل کرده و در همین حال به دیگر مواردی که به بهبود آن منجر می شود، کمک می کند ...
... همانطور که می دانید اصطلاحا به اشکالات نرم افزاری باگ اطلاق می شود ولی آیا تاکنون فکر کرده اید واقعا چرا نرم افزارها باگ دارند؟ چرا هیچ وقت شر این باگ ها از سرمان کم نمی شود؟ شاید هیچ مفهوم و موضوع دیگری در علوم مهندسی را نتوان یافت که به اندازه مفهوم باگ، این واقعیت مهم را برای انسان روشن کرده باشد که هیچ فرمول و قانون ساخت انسان، بی اشکال و نقص نیست و در هر طرح و برنامه ای، بدون تردید، نقصان ها و لغزش هایی وجود دارد که در نگاه اول به نظر نرسیده است ... از این رو متون و کتاب های مفصلی در زمینه debugging یا اشکال زدایی از نرم افزار و متدهای آن تالیف شده است و همچنان ادامه دارد ... برنامه نویسان تازه کار معمولا از این شاخه مهندسی نرم افزار گریزانند و امیدوارند برنامه هایی بنویسند که به قدری خوب باشد که اصلا کارش به اشکال زدایی نکشد، ولی پس از دو سه سال کار حرفه ای در این زمینه سرانجام تسلیم می شوند و آشنایی با اصول علمی اشکال زدایی برایشان به یک ضرورت تبدیل می شود، مگر اینکه نخواهند به اصول اخلاقی و حرفه ای مهندسی نرم افزار متعهد باشند و از اینکه برنامه های ساخت آنها پر از انواع باگ و ایراد باشد، باکی نداشته باشند اما برطرف کردن باگ ها برای بسیاری از برنامه نویسان غیرآماتور یکی از قسمت های چالش برانگیز و لذت بخش کار است و تقریبا مثل حل کردن معماست ...
... در بیشتر اوقات مشکل در این توپولوژی شکستن خط اصلی است که کاری مشکل برای اشکال زدایی (troubleshooting) به حساب می آید ...
... همچنین اگر برنامه ای را که به یک زبان واحد نوشته شده است و در کامپایلری بدون اشکال به فایل اجرایی نهایی منتج شده است، در پیاده سازی دیگر آن کامپایلر بخواهیم کنیم ممکن است با اشکالات متعدد روبه رو شویم که عملا اشکال یابی و اشکال زدایی آن را غیرممکن خواهد ساخت و در نتیجه فرد مجبور خواهد بود همواره با یک کامپایلر کار کند ... این که نتوان یک برنامه به یک زبان واحد را در کامپایلرهای دیگر همان زبان کامپایل کرد، یک اشکال بزرگ به شمار می رود که به آن نداشتن قابلیت انتقال1 گفته می شود ... مثلا ممکن است سوال شود که وقتی یک برنامه در کامپایلری مثل کامپایلر ++ c بورلند بدون اشکال به فایل اجرایی تبدیل می شود، چه لزومی دارد آن را به کامپایلر ++ c مایکروسافت انتقال دهیم؟ این سوال از دو دیدگاه قابل بررسی است ... اما برنامه نویس باید به این نکته توجه داشت باشد که اگر قرار باشد برنامه خود را در یک کامپایلر دیگر از آن زبان یا در سیستم عامل دیگری کامپایل کند، ممکن است حتی اگر با خطایی نیز مواجه نشود، یک اشکال منطقی ظریف در برنامه ظهور کند که معمولا یافتن این گونه اشکالات زمانگیر و خسته کننده است ... در صورتی که اگر آ ن دستور انتساب مقدار به مؤلفه ها وجود داشت این اشکال رخ نمی داد ...
... پیش از این php با وجود وسعت کاربردش، یک محیط کار مجتمع و توانمند نداشت و برنامه نویسان ناچار بودند برنامه های خود را در ویراستارهای معمولی نوشته و در سرورهای خود آزمایش و اشکال زدایی کنند ...
|
صفحه 1
|
2 | 3 | 4 |
|