Для тех, кто может быть заинтересован, я не мог понять, почему он не отображает atmel_rx_chars на адрес в System.map. Вы все еще можете установить точку останова как обычную для отладки в этой ситуации. Я полагаю, это должно было быть более очевидным, когда я искал ответы. В любом случае в командной строке GDB введите
b source_file.c:line#
так что в этом примере это будет
b atmel_serial.c:381
и оно будет прерываться всякий раз, когда вы нажимаете «пропущенную» процедуру. Это все еще неполное решение, все же. Разбивка на определенную строку работает, но она не оставляет стековый фрейм вызывающей функции (atmel_handle_receive), поэтому локальные переменные atmel_rx_chars недоступны для GDB. Как всегда, любая помощь или понимание будут оценены. Надеюсь, что это послужит хорошей отправной точкой, если кто-то еще столкнется с этой проблемой или кому-то подобному.
Спасибо,
Jayce