این باگ ها واقعا وجود دارن و امکان داره گاهی اوقات باهاش مواجه بشید .
دلیل بوجود اومدنشونم اینه که وقتی ما تلاش میکنیم مثلا با دیباگر ها ، برناممون رو عیب یابی کنیم ، معمولا خود دیباگر ها یکسری تغییراتی روی برنامه بوجور میارن . طبیعیه که محیط عیب یابی با محیط واقعی اجرا کمی متفاوت باشه و برخی مولفه ها تغییر کنن .
همین تغییرات میتونه باعث بشه تا برخی باگ هایی که تو اجرای واقعی وجود داشتن یا پنهان بشن یا رفتارشون فرق کنه
برای مثال سورس کد دارای باگی رو فرض کنید که با قابلیت های بهینه سازی ( Optimizing ) یک کامپایلر خاص ، کامپایل شده . وقتی این نتیجه رو اجرا میکنیم میبینیم که باگ داره . مثل هر برنامه نویسی تلاش میکنیم عیب یابیش کنیم . برای عیب یابی ، دیباگر ما ممکنه سورس کد رو دوباره کامپایل کنه برای دیباگ کردن ولی اینبار بدونه بهینه سازی (Optimizing) . همین تفاوت به ظاهر کوچیک (بهینه سازی شدن یا نشدن) میتونه باعث بشه تا باگی که دنبالش بودیم یهو ناپدید بشه .
درواقع الگوریتم ها و روش های بهینه سازی کامپایلر بودن که این هایزنباگ رو بوجود میاوردن :)
مطالعه بیشتر :
https://en.wikipedia.org/wiki/Heisenbug
🆔 :
@mrpythonblog