Найэл Мерфи

   В предыдущем разделе в своих ошибках мы подозревали поставщика компилятора, но он оказался не виноват. К сожалению, это не всегда так и, поскольку у разработчика обычно нет доступа к исходному коду компилятора, выявить ошибки компилятора очень трудно.

   Много лет назад у нас был компилятор, который регулярно выдавал сообщения о синтаксических ошибках на неверных строках исходного кода. Это не было такой уж серьёзной неприятностью, поскольку поиск в обратном направлении от того места, где компилятор сообщал об ошибке, всегда позволял определить строку, где ошибка была допущена на самом деле. В некоторых случаях ошибка определялась на нужной строке; иногда погрешность составляла 10 строк или больше. По мере написания проекта и увеличения размера файлов, проблема, казалось, прогрессировала. 

   Найэл Мерфи 

   Понимание ошибок программного и аппаратного обеспечения на примере других встраиваемых систем может помочь Вам идентифицировать, диагностировать и исправить ошибки в своей собственной системе. 
 
   Знаменитые ошибки – это своего рода военные истории разработчика ПО. В то время как остальные люди предпочли бы толочь воду в ступе, чем слушать историю, которая заканчивается словами "... и затем я понял, что эта переменная  должна была быть 16-разрядным счетчиком, ха, ха, ха!", другим инженерам нравится слушать рассказы о злых шутках, которые сыграл с ними код. В этой статье мы исследуем наиболее коварные ошибки, с которыми я столкнулся за эти годы - иногда как автор, иногда как мастер по отладке, а иногда как заинтересованный наблюдатель.