А что такое "бряки" ?
Прежде всего, прошу извинения за жаргон.
Я ошибся в вашей квалификации.
Т.е. в режиме программирования они поддерживаются, а в режиме отладки нет? Правильно я Вас понял?
Нет, не правильно. Бряки - это брейкпойнты (breakpoints) - точки останова. И работают они ТОЛЬКО в режиме отладки (дебага).
Debug (отладка) - специальный режим работы чипа, который поддерживается наличием в чипе модуля отладки, а так же внешним аппаратным устройством - дебаггером (отладчиком), который обычно может выполнять как функцию отладки, так и функцию программирования. Но есть и очень простые устройства, которые кроме программирования ничего делать не умеют.
В отличии от программирования, режим отладки должен поддерживаться средой разработки (IDE). Программирование не требует этой среды, хотя ей и поддерживается, и может поддерживаться как отдельной программной оболочкой, так и интегрированной по типу IPE (есть две отдельных среды MPLABX IDE и MPLABX IPE входящих в общий для них дистрибутив).
Так вот, PICkit3 может программировать новые чипы при условии добавления их в dat-файл СВОЕЙ ПРОГРАММНОЙ ОБОЛОЧКИ. Иначе - нет.
Отладка новых чипов вообще невозможна. Ибо это другая история.
А что в Вашем понятии режим отладки?
На сколько я понимаю этот вопрос, это когда внутренняя программа мк доходит до некой точки, то нужно сказать мк СТОП!
Причем тут моё понятие. Режим отладки строго детерминирован документацией.
Режим отладки позволяет останавливать исполнение вручную, а так же по аппаратным точкам останова (количество которых ограничено, если не поддерживаются софтовые точки останова). При этом можно наблюдать в листинге кода позицию программного счетчика в виде стрелки-указателя на строку кода подлежащего исполнению.
Режим отладки позволяет сканировать все адресное пространство МК, включая флеш и фьюзы, и наблюдать их в специальных окнах среды разработки. Так же можно модифицировать значения по тем адресам, по которым это возможно в соответствии с условиями и требованиями даташита.
Режим отладки позволяет исполнять код по шагам, а так же переводить исполнение в любую точку программной памяти при пошаговом исполнении.
В интерфейсе ICSP наблюдение за памятью возможно только после останова, а при использовании JTAG/SWD (не на всех платформах доступном) даже на лету.
Режим отладки и режим обычного исполнения в интерфейсе ICSP - это два несовместимых режима. То есть если выдернуть ICSP в режиме отладки, МК код исполнять не будет. Так же, при включении отладчика на малоресурсных платформах МК код пользователя может быть перемещен, поскольку часть флеша и ОЗУ может быть занята под нужды отладчика.
Остальной ваш текст я комментировать не буду, поскольку там нечего комментировать.
Просто рекомендую вам ознакомиться с документацией, а не фантазировать.