Предоставление аргументов командной строки для исполняемого файла, запускаемого с помощью ltrace/strace

Название говорит все это друзья!

Как передать аргументы командной строки исполняемому файлу, выполнение которого я хочу отслеживать с помощью ltrace / strace?

Например, если исполняемый файл - "a.out" и я хочу сохранить вывод ltrace в файле "out.txt", а "arg1" - это аргумент командной строки, который я хочу передать исполняемому файлу, то команда, которую я пытался это "ltrace ./a.out -o arg1 out.txt"

Проблема в том, что моя программа предназначена для работы только с одним аргументом командной строки, поэтому, когда я запускаю вышеупомянутую команду, моя программа интерпретирует это как несколько аргументов командной строки и останавливает выполнение после печати сообщения "Использование" (фактически оно предназначено для сделайте это, но здесь я хочу отслеживать вызовы библиотеки, которые он выполняет).

Может кто-нибудь помочь мне? Заранее спасибо.:)

1 ответ

Решение

Попробуйте пройти -o перед командой выполнить:

ltrace -o out.txt ./a.out arg1

Сюда ltrace получите -o out.txt а потом будет exec a.out, передав ему остальную часть командной строки.

Другие вопросы по тегам