Встроенный в систему отладчик режима ядра является чрезвычайно сложным программным обеспечением, поскольку он должен заботиться о многих низкоуровневых ресурсах и операциях ядра. Если внутреннее ядро изменяется в следующей версии ОС, отладчик должен быть обновлен соответствующим образом. Разработчики отладчика должны работать вместе с разработчиками ядра и иметь доступ к исходному коду ядра. Все это делает разработку внутрисистемного отладчика сложной и дорогой.
И любая отладка в режиме ядра в системе разработки является опасным и неудобным процессом. Даже если из-за BSOD не происходит никаких повреждений FS и / или других потерь данных, загрузка системы разработки, запуск всех необходимых приложений для воссоздания удобной среды разработки - гораздо более длительный процесс, чем перезагрузка тупой целевой машины (аппаратной или виртуальной).
Когда аппаратные компьютеры были дорогими, не было эффективного интерфейса удаленной отладки и не было эффективных решений для виртуальных машин, SoftICE был приемлемым инструментом. Но за последние 15 лет удаленная отладка ядра в Windows была значительно улучшена, поэтому использование WinDbg намного удобнее, чем использование SoftICE, даже несмотря на то, что WinDbg имеет много недостатков и ошибок.