Слишком много IMO - пустая трата времени. Если вы достаточно хорошо знаете кодовую базу, вы можете сразу подумать о нескольких ключевых местах, где проявляется проблема. Поставьте точки останова там и посмотрите, правы ли вы. Всякий раз, когда вы видите лучшие ключевые точки, перемещайте точки останова, чтобы приблизиться к проблеме.
Когда вы гоняетесь за неверными данными, такими как нулевой указатель, это зависит от того, откуда они берутся: если они передаются в качестве аргумента, посмотрите на стек вызовов, чтобы выяснить, откуда они берутся. Если это часть какой-либо структуры данных или объекта (более простой случай), установите точку останова, чтобы увидеть, когда и как она будет изменена.
Условные контрольные точки могут быть очень полезны, в противном случае вы можете имитировать их, добавляя операторы if, содержащие no-ops. Если у вас есть точка останова в горячей точке, которая срабатывает слишком часто до того, как вы столкнетесь с проблемой, деактивируйте ее и поместите другую в место, которое, как вы знаете, будет сбито незадолго до того, как проблема проявится, активируйте ее в горячей точке.