Mac OSX 上的 dtruss SQL 查询

Mac OSX 上的 dtruss SQL 查询

在我们的商店中,我们的环境是不均匀的,并且在不同的机器上执行 Java - 主要是 Mac OSX,我在 Linux 上,还有一个 Windows 机器。当涉及到调试 JPQL 查询及其 SQL 结果时,需要阅读普通 SQL我发现一种可能性是使用 msql 中的 _general_log_ 并让服务器进行查询日志记录。但我是一个懒惰的开发人员,所以我想到了一个更快的方法要得到直接结果

在我的Linux 系统我只是strace -p $CATALINAsPID -f -q - s 9999 - e sendto让我的查询运行。sendto是包含以下的系统调用:普通 SQL

我想对 Mac OSX 做同样的事情,并发现dtruss跟踪?),它的功能与 类似strace。因此我尝试将其缩小到sendto(类似于 Linux) - 但没有成功。

dtruss 如何工作,如何追踪普通 SQL

答案1

我找到了一种简单的方法来得到我想要的东西:只需编写一个 dtrace 脚本,如下所示:

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

然后获取结果。有点黑客,但有效。

相关内容