دو روز پیش وقتی در حال آزمایش «ساغر» روی لینوکس بودم به یک باگ برخوردم، گاهی برگه جدید که باز میکردم کاملا خالی بود یا بهتره بگم نامریی چون با کلیک کردن میتونستم بین مطالب جابجا شوم، البته نکته جالب اینکه اصلا در ویندوز این مشکل پیش نمیآمد! از آنجا که تو ابونتو هنوز IDE نصب نکردم، رفتم سراغ qDebug() و خروجی Console و شروع کردم به دباگ کردن!
در اینجا بود که متوجه شدم که یادم رفته یکی از متغیرها از نوع «int» رو مقداردهی اولیه کنم!! بعد از کشف باگ کنجکاو شدم ببینم چرا تو ویندوز این مشکل پیش نمیآمد وقتی تو Visual Studio رفتم سراغ دباگ کردن معلوم شد کامپایلر مایکروسافت عدد منفی بسیار بزرگی (از لحاظ قدرمطلق) به این متغیر تخصیص میدهد و چون در ادامه برنامه بین این متغیر و متغیر مثبت دیگری ماکزیمم گرفته میشود عملا مشکلی پیش نمیآید اما در کامپایلر گنو یعنی همون «GCC» به این متغیر عدد مثبت بسیار بزرگی تخصیص داده میشود که باعث میشود همین عدد بسیار بزرگ از ماکزیمم گیری بیرون آید و خرابکاری کند!