для начала нужно научиться пользоваться компилятором (устанавливать точки остонова в непонятных местах).
Если речь идет об устранение ошибок в чужом коде, то нужно знать язык программирования на таком высоком уровне, что становится понятен любой говнокод.
Сначала диагностирует ошибку ищет причину возникновения её, а дальше устраняет её.
Ошибки могут быть логического характера и синтаксические, выявить син ошибки в коде может помочь компилятор на стадии обработки кода, а вот логические ошибки выявить немного сложнее, потому что программа может быть скомпилирована без ошибок, а вот результаты выдаваемые программой могут быть ошибочными.