modificação `dtrace_deadman_timeout` para scripts dtrace como o dtruss?

1

Ao executar alguma depuração intensiva que precisa ser executada na ordem de cerca de 5 minutos, estou descobrindo que dtracea opção deadman está sendo acionada regularmente e não é possível obter o erro que está sendo rastreado:

dtrace: processing aborted: Abort due to systemic unresponsiveness

Parece que eu poderia modificar os parâmetros do homem morto, sendo talvez dtrace_deadman_timeouto mais promissor. Eles podem ser encontrados aqui e o slide é o seguinte:

slide dtrace

Qual é a maneira apropriada de definir esses parâmetros no macOS (especificamente 10.13.x)?

iluminar
fonte

Respostas:

1

Eu tive o mesmo problema. Não sei se isso é incentivado, mas você pode usar o sinalizador "-w" para "permitir ações destrutivas". Isso parece ter corrigido o problema para mim. No entanto, não tenho ideia de quais são as consequências. Estou executando um script muito simples, por isso estou razoavelmente confiante de que não estou fazendo nada que seja muito "destrutivo".

Isso foi difícil de encontrar, era um pdf dos slides de uma apresentação feita no dtrace e tenho a sensação de que o MacOS apenas permite relutantemente o suporte básico ao DTrace atualmente. Isso é muito ruim porque o DTrace é uma ferramenta incrivelmente poderosa.

Para o bem de qualquer pobre alma que vagueie por aqui com problemas semelhantes, o livro oficial do DTrace é realmente útil e, embora não tenha todas as respostas, provavelmente tem a maioria delas.

rtkaratekid
fonte
Isso é muito útil, obrigado por apontar. Você conhece uma maneira de forçar scripts como dtrussexecutar com isso? Eu esperava que algo assim sudo dtrace -w /usr/bin/dtruss /bin/lspudesse forçar isso, mas parece que o próprio script invoca, dtracepor isso deve ser modificado por dentro - mas isso não é "prontamente" visível em termos de como alterar as opções de invocação ...
yuminumin
Desculpe, não fiz muita brincadeira com as ferramentas internas. Eu esperaria que você pudesse obter o código fonte e modificá-lo para executar sua própria versão modificada do dtruss. Desculpe, não posso ajudar muito mais agora. Se eu tiver tempo para mexer nisso, eu voltarei para você.
rtkaratekid 29/07