Легкий вес, отлаживающий на встроенном Linux

В Проводнике Решения щелкните правой кнопкой по любой странице ASPX и избранному "Обзору С" и выберите IE как значение по умолчанию.

Примечание... те же шаги могут использоваться, чтобы добавить Google Chrome как параметр браузера и дополнительно установить его как браузер по умолчанию.

5
задан Jason Machacek 1 December 2009 в 23:58
поделиться

5 ответов

gdbserver определенно работает с многопоточными приложениями, я сейчас работаю над встроенным проектом с> 25 потоками, и мы все время используем gdbserver.

info threads 

перечисляет все потоки в системе

thread <thread number from info threads>  

переключается на этот поток выполнения.

thread apply XXX <command>  

Выполняется в потоке, обозначенном XXX, который также может быть «все». Итак, если вы хотите, чтобы обратная трассировка от всех запущенных потоков выполнялась

thread apply all bt

Когда вы находитесь в потоке выполнения данного потока, все ваши типичные команды работают так же, как в однопоточном процессе.

4
ответ дан 14 December 2019 в 08:53
поделиться

I've heard of people doing hacks like running the application in an emulator like QEMU and then running GDB (or things like valgrind) on that. It sounds painful, but if it works....

Would you get anywhere with libunwind (to get stack traces) and printf-style logging?

2
ответ дан 14 December 2019 в 08:53
поделиться

Печать через последовательный порт - самый легкий из возможных вариантов ~~~ Легко просматривается на хост-компьютере, а простой и легкий код внутри вашего приложения ~~

Если у вас нет последовательного порта, однажды мы использовали порт GPIO и имитировали последовательный порт с его помощью. Работало отлично, но было немного медленно :-( ~~~

1
ответ дан 14 December 2019 в 08:53
поделиться

Есть ли причина, по которой вы создали свой собственный отладчик? ? Я разрабатываю систему Linux с использованием процессора ARM (AT91SAM926x), и мы используем как компилятор, так и отладчик из CodeSourcery. Я не думаю, что они выпустили версию с GDB 7, но я без проблем отлаживаю многопоточные приложения на C ++ с помощью инструмента gdbserver.

0
ответ дан 14 December 2019 в 08:53
поделиться

Gdbserver действительно работает с многопоточными приложениями. Однако вам необходимо скомпилировать кросс-целевой отладчик для вашего хоста, чтобы заставить его работать с вашим целевым GDB.

См. Эту статью для подробного описания того, как это сделать:

Удаленная кросс-целевая отладка с GDB и GDBserver

0
ответ дан 14 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: