Sempre quiz utilizar o strace no FreeBSD, mas nunca conseguia, não existia o comando, então corri atrás de uma solução funcional, mas não encontrei, até teve um pessoal que me indicou o ktrace, mas não consegui faze-lo funcionar. Então procurei um port do strace para o FreeBSD e qual foi a minha surpresa quando vi que nem precisava procurar, existe uma versão do strace no próprio FreeBSD, não é um port do Linux é um comando do BSD nativo. ai vai um crash-course de como instalar e usar a criança.
ATENÇÃO: Segundo algumas dicas que encontrei na internet o /proc que está descrito abaixo e deve ser montado é algo muito arriscado, ainda não descobri o motivo, por isto o comando strace não é tão usado na comunidade FreeBSD, mas é um comando útil.
Instalando o strace:
cd /usr/ports/devel/strace/
make install clean
Edite o fstab e adicione a linha para que o proc possa ser montado.
proc /proc procfs rw 0 0
depois monte o /proc
mount /proc
e vc pode utilizar o strace com um pid rodando com o comando
strace -p PID
exemplo de saída com o mysqld ...
strace -p 25394
Process 25394 attached - interrupt to quit
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall_383(0x844bf40) = 0
syscall: missing entry
) = 0x17f
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40syscall: missing exit
syscall_383(0x844bf40, 0x8447034) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58, 0x2854f9fa, 0x844bf40, 0x844d000) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58, 0x2854f9fa, 0x844bf40) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58, 0x2854f9fa, 0x844bf40, 0x844d000) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58) = 0x17f
syscall_383(0x844bf40, 0x8447034) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58) = 0x17f
syscall_383(0x844bf40, 0x8447034, 0x844bf58) = 0x17f
syscall_383(0x844bf40, 0x8447034)
1 comment:
Seria uma boa um blog desse ativo :) Ví o recado na comunidade.
Eu conheço pouco o FreeBSD, mas se precisar de ajuda estou aqui ;)
Post a Comment