Я новичок в dtrace, ранее имел возможность Linux strace, отслеживающего все, что мне нужно по умолчанию. Как настроить отслеживание вызовов чтения и записи из работающей C программы для работы на dtrace?
Я видел ответ здесь: dtrace: не перехватывает вызов sys для записи Однако это не помогает мне полностью.
Я добавил оператор printf из https://docs.oracle.com/cd/E18752_01/html/819-5488/gcgkk.html с текущим кодом: sudo dtrace -n 'syscall::read:entry, syscall::write:entry/pid==10325/{printf("%s",copyinstr(arg1)); }'
, где pid - это процесс, который я хочу для отслеживания.
Однако, это печатает его в виде строки, а не в байтовой форме. Есть ли способ просмотреть все содержимое, включая скрытые символы, такие как \ r и \ n? Это то, как это делается в strace.
Кроме того, запись: запись, кажется, обрезает вывод после примерно 150-200 символов, есть ли способ отключить или увеличить этот предел?