问题标签 [systemtap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在哪里可以找到 ubuntu 12.04 的 debuginfo 内核 rpm?
我正在尝试在 ubuntu 上运行 systamtap,我有默认的 ubuntu 12.04,没有安装任何 debuginfo 包。
我收到以下错误:
语义错误:在“/lib/modules/3.8.0-35-generic/build”下缺少 x86_64 内核/模块调试信息 [man warning::debuginfo]
有人可以指导我如何在我的系统上启用调试信息吗?我只找到与 fedora 或 rhel 相关的软件包。
我还需要使用 debuginfo 编译内核吗?
我从 ubuntu 找到了这个有用的链接:http: //manpages.ubuntu.com/manpages/raring/man1/debuginfo-install.1.html
但是当我尝试 sudo debuginfo-install kernel 我得到 No debuginfo packages available to install
linux - sock_sendmsg():内核的隐式函数调用
我试图通过将处理程序挂钩到sock_sendmsg()
定义在linux/socket.c
. 我可以通过编写一个 systemtap 探测处理程序来probe kernel.function("sock_sendmsg@net/socket.c")
转储所有通过第二个参数传递的数据块struct msghdr *msg
。
以下是摘录net/socket.c
:
我测试了我的 systemtap 脚本hook_sendmsg.stp
。首先,我hook_sendmsg.stp
在一个终端中运行。然后我打开另一个终端并调用telnet
命令来连接stackoverflow.com
并输入HEAD / HTTP/1.0<Enter twice>
终端。我从以下输出hook_sendmsg.stp
:
这表明sock_sendmsg()
在 的上下文中总共被调用了 6 次telnet
。显然,第 3 次和第 4 次是对 Google 的公共 DNS 服务器8.8.8.8
和8.8.4.4
. 第 5 行和第 6 行是从 发送的两行 HTTP 请求telnet
。但是第 1 次和第 2 次的要求是什么?他们是由内核在内部调用的吗?
提前致谢。
ubuntu - ubuntu 上 java 的 Systemtap
我想,不仅要跟踪 java 进程,还要在 systemtap 中使用对 openjdk 跟踪的新支持,包括热点跟踪和方法跟踪。
因此,我安装了 ddebs.ubuntu.com 存储库来安装内核调试符号——然后我可以调用一个使用内核 Tapset 但尚未使用 Java 的 stap 脚本。我确实注意到了一个名为 openjdk-7-jdk-dbgsym 的软件包,并尝试安装它以查看它是否具有 openjdk 的 systemtap Tapsets,但这与 openjdk-7-dbg 软件包冲突(然后 ubuntu 不让我错误报告,因为 openjdk-7-jdk-dbgsym 软件包不是来自“官方”服务器。如果我卸载那个并安装另一个,它无论如何也无济于事。
有没有人在ubuntu上成功做到这一点?
编辑:为了在具有 java byteman 支持的 ubuntu 上成功地从源代码构建 systemtap,您必须通过
(或您奇怪的 jvm 位置)
否则,建筑不会做罐子,所以需要。然后你必须按照源目录 java/README 文件中的步骤进行安装(不要忘记修改路径)。
还有另一个 --with-dyninst 选项,我没有尝试过,但可能会为其他调用模式“修复”它
编辑2:好吧,它可以编译甚至运行,但即使在给出的示例和设置了 BYTEMAN_HOME 的情况下,它也不会输出任何内容......
ubuntu - SystemTap 语义错误,找不到成员“mnt_parent”
我刚刚安装了systemtap。当我想使用 stap -o 将结果发送到文件中时,出现错误:sudo stap -o a.out b.stp
我对 systemtap 使用的语言感到很困惑。谁能帮我?
eclipse - Eclipse/Ubuntu 13.10 x64下C++程序调用图
我想在 Eclipse / Ubuntu 13.10 x64 下绘制 C++ 程序的调用图。
我已经安装了 SystemTap 并且能够正确启动“初始测试”。
但是当我尝试获取程序的调用图时,我得到:
- 如果我右键单击我的项目 -> 分析工具 -> 函数调用图,则fd 编号错误
- 如果我从“运行”菜单启动分析,则输出文件损坏
如何在 Ubuntu 上正常工作?
systemtap - SystemTap 注册错误
你有没有看到这个警告:probe kernel.function("some function@some file") (address 0xSomething) registration error (rc -84) ?如果是这样,你做了什么来解决它?这是一个警告,发生在运行时(通过 5 之后)。但它会跳过使用注册错误的特定功能。但是,我需要探索这个功能。请注意,这些函数不是 __kprobes。
我的内核是 3.11.0-15-generic (Ubuntu 12.04),SystemTap 版本是 2.4。
更新 显然我搞砸了 SytemTap 的安装。请在此处查看第二条评论(由我撰写)。
remote-debugging - systemtap 远程调试用户进程与源代码
我有一个mongod
在机器 A 上运行的剥离版本(没有符号表),它是一个生产服务器。
在机器 BI 上具有源代码和未剥离的mongod
二进制文件(带有符号表)。我想通过以下方式远程调试生产问题:
像这样的探针有效:
但另一个探测:
才不是。
我们在 A 和 B 上都有完全相同的二进制版本,并且二进制路径也相同。所有探针在机器 B 上按预期工作。
mongod
在这种情况下如何远程调试?可能吗?
ubuntu - kprobes 在 Ubuntu 中不起作用
我正在尝试从 Systemtap 运行标准示例脚本之一。procmod_watcher.stp 使用 kprobes 来监视 fork、exec 等。但是当我尝试运行此脚本时出现错误。
果然:stap -L 'kprobe.function("do_execve")'
什么都不返回。怎么会这样?
我正在使用 Ubuntu,已按照以下说明进行操作: Ubuntu @sourceware 上的 Systemtap
我还尝试编译我自己的内核并确保通过配置启用 Kprobes、debug_info 和所有其他必需项。我犯了同样的错误。
我已经在 Fedora 上尝试过相同的脚本,它几乎是开箱即用的。但是我只有一个开启了fedora的虚拟机,并且想继续使用ubuntu一段时间。
我需要做什么才能在 ubuntu 的 systemtap 中启用 kprobes?
linux - Error in the systemtap script
I am trying to execute a systemtap script. But during execution i got the following semantic error.
Help me on this
android - Android Systemtap 无法加载模块
我正在尝试在我的 GT-i9300 上加载一个简单的 Systemtap 模块
我得到错误
插入模块“/sdcard/systemtap/modules/monitor_fopen.ko”时出错:模块中有未知符号
我采取的步骤:
1.在设备上获取root
我通过安装这个Rom做到了这一点
2.构建自定义内核
3. Flash 内置 zImage 到设备
4.在PC上安装systemtap
5.创建一个.stp文件
6. 使用编译过的内核从 .stp 文件中构建 .ko 文件
7.在运行自定义内核的设备上安装Systemtap Android App
https://github.com/flipreverse/systemtap-android-app
8.启动应用程序并授予应用程序root访问权限
Superuser.apk 应该询问您 Systemtap 是否可以具有 root 访问权限
9.将步骤6中的.ko文件推送到sdcard
10.加载模块
11.读取模块加载结果
加载的内核模块:monitor_fopen.ko 输出文件:monitor_fopen_2014.mm.dd_sss.* 插入模块“/sdcard/systemtap/modules/monitor_fopen.ko”时出错:模块中存在未知符号
我不知道我在哪一步出错了。有人有线索吗?