gpt4 book ai didi

Linux 系统调用上的 Java 断点

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:15 32 4
gpt4 key购买 nike

当本地方法调用(直接或间接)某个 Linux 系统调用时,我如何在 Java 中设置断点?

最佳答案

这不是一个断点,但至少它给了你一个堆栈跟踪,这可能是你所需要的。此外,如果需要,Systemtap 语言确实允许您做更多的事情,而不仅仅是打印堆栈跟踪。

在 IcedTea JVM 源代码中,您会发现一个 SystemTap file具有可用于从正在运行的 IcedTea(带有 Hotspot)JVM 获取堆栈跟踪的函数。据我了解,使用这些函数,您可以从 SystemTap 支持的任何事件中获取 Java 堆栈跟踪 - 甚至从内核事件中获取。

请注意,尽管名称相同,但这些 jstack 函数与 JDK 提供的 jstack(1) 命令行实用程序无关。它们通过内存检查工作,而不是通过回调 JVM,所以它们是 quite specific to Hotspot internals ,因此可能不适用于非基于 Hotspot 的 JVM。

备注:Systemtap does not fully work on default Debian kernels ,因此您可能需要在基于 Debian 的系统上编译自己的内核。此问题不影响 Fedora 或 Red Hat。

关于Linux 系统调用上的 Java 断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11590531/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com