dtruss SQL-Queries no Mac OSX

0

Em nossa loja, temos um ambiente não homogêneo e fazemos Java em caixas diferentes - principalmente Mac OSX, eu no Linux e uma caixa do Windows. Quando se trata de depurar o JPQL-Queries e seu resultado de SQL, existe a necessidade de ler SQL simples . Eu encontrei uma possibilidade em usar o _general_log_ em msql e deixar o servidor fazer o log de consulta. Mas eu sou um desenvolvedor preguiçoso, então pensei em uma abordagem mais rápida para obter resultados diretos .

No meu Linux-box eu simplesmente strace -p $CATALINAsPID -f -q - s 9999 - e sendto e deixo minha consulta ser executada. sendto é a chamada do sistema que contém o SQL simples .

Eu queria fazer o mesmo com o Mac OSX e encontrei dtruss (uma fassade para dtrace ?), que faz coisas parecidas como strace . Então tentei reduzi-lo para sendto (analógico para o Linux) - mas sem sucesso.

Como o dtruss funciona, resp: como rastrear o SQL simples ?

    
por Thomas Junk 19.03.2015 / 22:54

1 resposta

0

Eu encontrei um jeito hacky para obter o que eu quero: Basta escrever um script dtrace como:

syscall::sendto:entry
/pid == $setPIDHere/
{
    tracemem((copyin(arg1, arg2)),9999);
}

E pegue o resultado. Hacky, mas funciona

    
por 20.08.2015 / 12:54