Como eu digo valgrind para memcheck processos bifurcados?
Pergunta
Eu tenho um x
processo que eu quero verificar se há vazamentos com valgrind
. O problema é que x
é executado por y
e y
por sua vez, é executado por z
. Eu não posso correr x
autônomo porque y
e configuração z
o ambiente para x
, como variáveis ??de ambiente, opções de linha de comando, arquivos necessários pelo x
etc.
- Existe alguma maneira eu posso dizer
valgrind
para rodar emz
mas para acompanhar quaisquer garfos que encontra e relatá-los também? - Existe alguma maneira eu posso dizer
valgrind
de seguir todos os garfos mas apenas informar sobre o processo chamadox
? - Existe alguma maneira eu posso dizer
valgrind
para anexar ao processo já em execução, a maneira que eu posso fazer com gdb?
Eu não sei se isso importa, mas estou correndo sob SuSE64 linux e valgrind-2.4.0.
Obrigado!
Solução
- Valgrind segue processos bifurcada quando dada a opção
--trace-children=yes
. - Você deve ser capaz de conseguir isso usando filtros adequados.
- Não. Valgrind engancha o código do módulo de carga utilizando LD_PRELOAD, de modo a fixar um processo de execução não é possível.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow