Какие-нибудь зрелые решения для создания мгновенной оболочки с символами ELF и синтаксическим анализатором команд c? - PullRequest
0 голосов
/ 29 июля 2011

Мне нужно сделать отладочную оболочку внутри каждого приложения (среда Linux), и мое решение выглядит следующим образом:

  1. Чтение эльфийских символов из exe-файла, создание таблицы символов-> адресов в память;
  2. Запустить поток, вызывающий readline, чтобы принять пользовательский ввод, кое-что как вызов функции c;
  3. используйте Lex & yacc для анализа имени функции и списка аргументов;
  4. Найти адрес функции в таблице символов;
  5. вызов функции со списком аргументов;
  6. Каждая написанная функция может быть немедленно введена как команда оболочки.

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

1 Ответ

1 голос
/ 15 июля 2013

Конечно.Если вы работали с VxWorks, вы обнаружите, что WindShell - это то, что вы ищете.У меня был порт аналогичной оболочки для Linux.Вы можете скачать исходный код с: https://sourceforge.net/projects/zprj/

Примечание: не используйте источник в коммерческих продуктах, поскольку они портированы из WindShell.Если вам нужна оболочка в коммерческих областях, вы должны разработать ее с LEX / YACC.

...