0. я использую это чудо
https://github.com/blackmagic-debug/blackmagic/wiki
уже давно давно, и с презрением смотрю на ж-линки и прочие оковы разума.
1. еще в октябре прошлого года было сломано в коде 11.2, при выполнении attach отдадчик падал. 11.1 не имеет такого бага.
2. баг связан с сильными изменениями кода в remote debug из за рефакторинга. связанного с добавлением в отладку "мелких таргетов" общего механизма потоков. это связано с тем что теперь даже сраный микроконтроллер умеет запустить FreeRTOS и более связан с тем фактом, что многие не сраные микроконтроллеры начинают имеют ядер чуть более чем один! однако ж границы стираются!
3. ваш покорный слуга приложил немного к этому руку... огромное спасибо старому знакомому John Whittington <git@jbrengineering.co.uk>
4. собственно патч кому это зайдет... работает на коде 11.2 и выше включая транк
gdb/remote.c @@ -2545,12 +2545,16 @@ remote_target::remote_add_thread (ptid_t ptid, bool running, bool executing, else thread = add_thread (this, ptid); + /* switch to thread now if bare-metal target because otherwise it will assert as null */ + if (silent_p) + switch_to_thread (thread); +
/* We start by assuming threads are resumed. That state then gets updated when we process a matching stop reply. */ get_remote_thread_info (thread)->set_resumed (); - set_executing (this, ptid, executing); - set_running (this, ptid, running); + set_executing (this, thread->ptid, executing); + set_running (this, thread->ptid, running); return thread; } @@ -6055,9 +6059,7 @@ extended_remote_target::attach (const char *args, int from_tty) /* Add the main thread to the thread list. We add the thread silently in this case (the final true parameter). */ - thread_info *thr = remote_add_thread (curr_ptid, true, true, true); - - switch_to_thread (thr); + remote_add_thread (curr_ptid, true, true, true); } /* Next, if the target can specify a description, read it. We do
5. Чуток пожже выложу сборку уже с веткой gdb 13 - нужно тестить - под эклисой падает, с консоли все ок. наверно плагин эклипсы нужно подкрутить...
6. Крымскиое вино всталяет как надо - можно хуячить код или писание документов, разработку железяк не останавливаясь! Французкие - галимое кислое говно. точка. Наложить санкции и запретить ввоз, или разрешить с заградительной доплатой
-
- Спасибо за ваш вклад! Я этим не пользуюсь, но могу оценить. - Dingo(24.03.2022 13:27)