В нашем магазине мы имеем неоднородную среду и делаем Java на разных компьютерах - в основном Mac OSX, я на Linux и один Windows. Когда дело доходит до отладки JPQL-запросов и их SQL-результатов, необходимо читать простой SQL. Я нашел одну возможность в использовании _general_log_ в msql и позволил серверу вести журнал запросов. Но я ленивый разработчик, поэтому я подумал о более быстром подходе к получению прямых результатов.
В моем Linux-боксе я просто strace -p $CATALINAsPID -f -q - s 9999 - e sendto
и запускаю мой запрос. sendto
- системный вызов, который содержит простой SQL.
Я хотел сделать то же самое для Mac OSX и нашел dtruss
(fassade для dtrace?), Который делает подобные вещи, как strace
. Поэтому я попытался сузить его до sendto
(аналог Linux) - но безуспешно.
Как работает dtruss, соответственно: как мне отследить простой SQL?