Предоставление аргументов командной строки для исполняемого файла, запускаемого с помощью 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
, передав ему остальную часть командной строки.