Попытка запуска GDB в приложении, построенном из buildroot br2config [duplicate]

Я отвечаю на вопрос: Как получить значение переменной, учитывая ее имя в строке? , которая закрыта как дубликат со ссылкой на этот вопрос.

Если рассматриваемые переменные являются частью объекта (например, части класса), то некоторые полезные функции для достижения именно этого: hasattr, getattr и setattr.

Так, например, вы можете иметь:

class Variables(object):
    def __init__(self):
        self.foo = "initial_variable"
    def create_new_var(self,name,value):
        setattr(self,name,value)
    def get_var(self,name):
        if hasattr(self,name):
            return getattr(self,name)
        else:
            raise("Class does not have a variable named: "+name)

Тогда вы можете сделать:

v = Variables()
v.get_var("foo")

"initial_variable"

v.create_new_var(v.foo,"is actually not initial")
v.initial_variable

"на самом деле не является начальным"

blockquote>

3
задан eviljack 13 March 2009 в 14:43
поделиться

2 ответа

Удаленная отладка довольно проста: на целевой платформе запустите приложение с помощью GDBserver, указав хост и порт для прослушивания входящего TCP-соединения:

  gdbserver HOST:PORT PROG [ARGS ...]

На рабочей станции разработки запустите перекрестная целевая GDB:

  powerpc-7450-linux-gnu-gdb PROG

Обязательно укажите неиспользуемый исполняемый файл. На консоли GDB введите:

  target remote HOST:PORT
  break main
  continue

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

6
ответ дан ks1322 21 August 2018 в 20:55
поделиться

Похоже, gdb поддерживает удаленную отладку.

Я никогда не использовал его, но http://davis.lbl.gov/Manuals/GDB/gdb_17.html выглядит как начало.

В основном вы запускаете программу под gdbserver на целевой машине, а gdb подключается (через TCP или последовательный) к gdbserver.

0
ответ дан Douglas Leeder 21 August 2018 в 20:55
поделиться
Другие вопросы по тегам:

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