Извлечение системных команд без чтения источников

Иногда мне интересно, как Linux-программы достигают определенных результатов, зная, что они внутренне используют системные вызовы ( system() или exec() в программах на C). Учитывая рабочий двоичный файл, мне интересно, можно ли легко узнать, какие команды выполняются. В конкретном примере я использую gramps инструмент gramps для создания генеалогического древа. Я предполагаю, что он генерирует определенные графики с помощью graphviz (используя инструменты командной строки, а не библиотеки). Теперь я хочу воспроизвести то же самое вручную в командной строке. Эта задача была бы упрощена, если бы я знал команды, используемые gramps . Я мог бы скачать и посмотреть источники, чтобы узнать, но мне интересно, могу ли я легче получить эту информацию с помощью инструментов отладки, таких как strace , что-то вроде strace gramps 2>/dev/stdout | grep system strace gramps 2>/dev/stdout | grep system . Обратите внимание: я не хотел бы искать двоичный файл с помощью шестнадцатеричного редактора, если это не может быть автоматизировано. В этом случае смотреть на источники напрямую должно быть проще.

One Solution collect form web for “Извлечение системных команд без чтения источников”

 strace -o dumpfile.strace -f -e trace=process $your $app $with $parameters 

Вы находите результат в файле dumpfile.strace .

  • Сбросьте шаблон слова в конце строки, используя sed
  • Почему unlink (1) поддерживает только один файл?
  • Вы имели в виду эту команду? (как ответить на это)
  • Заменить всю строку в файле из командной строки
  • Где уходит трейлинг-символ новой строки из моей подстановки?
  • Управление командной строкой qemu
  • Интерфейс командной строки Vs GUI
  • добавление звука из файла воспроизведения в поток микрофона
  • Невозможно выполнить двоичный файл в Mac OS X Lion 10.7.5
  • Извлечь текстовый слой из PSD (ImageMagick или GiMP)
  • NFS: делиться со всеми клиентами, кроме одного
  • Выполнить команду после каждой выходной строки из команды ping
  • Linux и Unix - лучшая ОС в мире.