запустить GDB и распечатать значение переменной, используя ruby - PullRequest
0 голосов
/ 14 января 2010

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

Если бы я был в оболочке, я бы сделал это:

  shell > gdb test
  [...gbd started]
  (gdb) p variable
  $1 = 20
  (gdb) 

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

1 Ответ

2 голосов
/ 14 января 2010

Попробуйте open4 , что позволяет открывать stdin, stdout, stderr для произвольной команды. Вы можете использовать open4 для запуска gdb в точности так, как вы описываете, я сделал это лично, и он работает довольно хорошо. Возможно, вы захотите создать класс-оболочку, который будет обрабатывать запущенные команды и возвращать статус, поскольку open4 просто дает вам файловые дескрипторы.

...