Como apontado por @ThomasDickey, você precisa passar a opção strace
the -f
, para incluir o rastreamento de todos os threads.
(Os clone()
syscalls estão criando novos segmentos, não processos, mas você ainda precisa do -f
para ter strace
seguir tópicos .)
Depois de seguir todos os threads, o open
se torna aparente, abrindo o arquivo no modo somente leitura, no descritor de arquivo 19:
open("/home/xytao/folder1/test.pdf", O_RDONLY) = 19
O conteúdo do arquivo é lido usando uma sucessão de pread
chamadas em um pequeno buffer de 256 caracteres, o primeiro dos quais recebe o %PDF-1.3
header:
pread(19, "%PDF-1.3\r\n%1357\r\n3 0 obj\r\n<</Fil"..., 256, 0) = 256
Se você passar pelo rastreio, verá que lseek
será o final do arquivo (para determinar o tamanho do arquivo) e, em seguida, ler alguns blocos de dados a partir dele. Presumo que seja informação sobre as páginas no documento.
Os seguintes pread
s acontecem nos deslocamentos no meio do arquivo, mas todos eles parecem começar com algumas informações sobre "página", então presumo que seja importante descobrir as páginas no documento PDF, provavelmente usando os deslocamentos do final do arquivo.