Без заголовка
Ну я и без дебаггера программировать могу без проблем :).
Дебагер вещь конечно полезная, но не необходимая.
На самом деле, в дебагере основная задача - обратная трансляция. Причем обычно частичная. Что реализуется достаточно просто, особенно при учете что для дебагера генерят код без оптимизаций (либо делают деоптимизацию). Так что концептуально, дебагер - это просто надстройка над системой, никаких принципиальных проблема там нет.
А вот гарантировать эквивалентность кода оттранслированного для дебага и оптимизированного - вот это серьезная задача.