Суть вопроса такова- как вы разгадываете по сообщению об ошибке что конкретно поломалось и в каком месте кода?
Естественно, что надо запускать отладку из Visual Studio и начинать ловить ошибку. Иногда достаточно запустить режим отладки и вместо такого сообщения получаем остановку выполнения в том месте, где произошла ошибка и студия даже подсказывает, в чём именно ошибка. Но это не всегда срабатывает.
Далее, смотрю в окошко "Output" ("Вывод" в русской Visual Studio). Там иногда пишется, в каком месте произошла ошибка. Но часто там ещё куча сторонних выводов самого AutoCAD, поэтому, это редко помогает.
Самый простой случай - когда ошибка вываливается при выполнении кода, который запускается по команде. Ставим точки остановки в нескольких местах команды и запускаем её. Дошли до точки остановки - F5, и так до тех пор, пока не получим фатал. Но мы уже будем знать, после какой точки остановки происходит ошибка. Потом убираем все точки остановки до той, в которой вывалился фатал и начинаем отладку по шагам. То есть, остановились в точке остановки и по F10 или F11 выполняем каждую отдельную операцию. И так находим место, где происходит сбой. Ну а дальше - смотрим внимательно, что же там не так, анализируем входные параметры и т.п. Со временем приходит опыт: как, что и где надо смотреть. Но, в целом, операция по поиску примерно такая.
Гораздо веселее, если запуск кода выполняется по событию - уже сложнее понять, какой кусок кода в какой момент запускается. Иногда приходится практически на все события ставить точки остановки на вход и выход и контролировать их корректное срабатывание. А далее, опять же, отладка по шагам, как и для командного метода.
Один из примеров - попытка передачи аргументов в метод команды, который ты недавно "практиковал". Поди догадайся, что в этот раз ты придумал... :-)
А вот как такие "приколы" отлавливать я сходу даже не могу придумать.