• 2 رای - 4.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال : نحوه دیباگ کردن و پروفایل کردن پروژه
#1
Brick 
سلام خدمت دوستای گلم

اگه میشه درباره دیباگ کردن و پروفایل کردن پروژه های خودتون توضیح بدید یا یه لینک به یه آموزش بدید

پیشاپیش ممنون
  پاسخ
تشکر شده توسط :
#2
من که خیلی متوجه منظورت نشدم یاکوزا جان
می شه کمی بیشتر توضیح بدی؟
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#3
کجاشو متوجه نشدی ؟
تو phpdesigner یه قسمت داره برا profile کردن کدهای php
یکم سرچ کردم ببینم پروفایل کردن چیه دیم باعث افزایش سرعت تو اجرای کدهای php میشه و جاهایی که باعث کندی تو اجرای برنامه میشن رو بهت مشون میده ولی من نتونستم باهاش کار کنم
تو phpdesigner 2008 برای دیباگ کردن و پروفایل کردن احتیاج به xdebug هستش که یه اکستنشن برای php و کار دیباگ کردن و پروفایل کردن رو انجام میده
راستی دیباگ کردن هم معلومه دیگه کارش چیه
حالا می خوام اطلاعاتی بیشتری تو این زمینه پیدا کنم
  پاسخ
تشکر شده توسط :
#4
برای دیباگ کردن به نظر من همون xdebug بسیار مناسب هست. داخل کدتون می تونید استفاده کنید و نیازی به نرم افزار خاصی نیست
http://devreview.com/article-php-with-xdebug/
در مورد پروفایل کردن من توی پروژه مگنتو ایده جالبی رو دیدم
شما دو متغیر دارید که یکی زمان اجرا و یکی فضای گرفته شده رو توش قرار میدید
وقتی که می خوایید پروفایل رو شروع کنید زمان سپری شده و فضای رم گرفته شده رو یه جایی ذخیره می کنید (مثلا توی دو متغیردیگه ) بعد که پروفایل رو جایی که می خوایید قطع کنید زمان سپری شده رو از زمانی که قبلا ذخیره کردید کم می کنید

یک نمونه (که البته فقط برای زمان هست)
کد پی‌اچ‌پی:
class profiler {
// simple profiler
  
private $time_start;
 
  private function 
get_time() {
    list(
$usec$sec) = explode(' 'microtime());
    return ((float)
$usec + (float)$sec);
  }
 
  function 
start() {
    
$this->time_start $this->get_time();
  }
  function 
finish() {
    return (
$this->get_time() - $this->time_start);
  }

  پاسخ
تشکر شده توسط : Na3r
#5
یه سوال دیگه هم دارم تو همین تاپیک میپرسم

من با زند استودیو کار نکرده بودم دیشب رو سیستمم نصب کردم شانسی رفتم تو یه قسمتش هر جای کدم که ممکن بود باگ داشته باشه رو نشون میداد وقتی رو اون قسمت میرفتی و f2 رو میزدی درباره اون باگ و یه مثال نشون میداد
برام خیلی جالب بود
مثلا یه تابع نوشته بودم که یه شرط رو چک میکرد بعد یه مقداری رو ریترن میکرد ولی اگه اون شرط برقرار نبود چیزی رو ریترن نمیکرد
زند استودیو زیر اون تابع یه خط زرد کشیده بود و warnning داده بود

کسی میدونه اونو از کجا باید بیارم
خودم پیداش کردم مرسی

این قسمت رو میگفتم خیلی جالبه

[عکس: zv22qv.jpg]
  پاسخ
تشکر شده توسط : zoghal


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان