问题标签 [ltrace]

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.

0 投票
1 回答
910 浏览

debugging - 使用 strace 和 ltrace 进行调试

我的程序挂了,我决定ltrace这样strace做。

在屏幕上给我一个“无限”的打印:

ltrace -p pid 给出相同的“无限”打印:

根据这些结果,我可以对程序发生的事情做出什么结论?

0 投票
0 回答
188 浏览

linux - why doesn't ltrace show gets(), puts()

On Ubuntu Yakkety Yak: 4.8.0-59-generic, I can't get ltrace to work. I expect it to show me gets() and puts() but it doesn't. What am I doing wrong?

0 投票
1 回答
553 浏览

ltrace - 为什么 ltrace 显示这么多参数和参数?

似乎 ltrace 显示的参数比函数提供的参数多,例如这个

为什么那里有 4 个参数,两个整数两个内存位置,而不是所有 Linuxgetauxval似乎都支持的一个参数?读取 ltrace 输出的正确方法是什么?

0 投票
1 回答
415 浏览

linux - ltrace()如何显示rand()

当 ltrace 遇到 rand 函数时,它会显示 4 个参数,如下所示: rand(0, 0x5649bd4e6010, 0x7f0955490760, 0x7f09551cf7b0) = 0x17382962

rand 不接受任何参数。ltrace 在这里显示什么?

编辑添加示例:

使用 ltrace 编译并运行:

rand 显示的参数是什么?

什么是 0x7f6e22884620、0x7fffa0bf38ec、0x7f6e228840a4、0x7f6e2288411c?

0 投票
1 回答
451 浏览

google-chrome - “/usr/bin/google-chrome”不是 ELF 文件

我打算将 ltrace 用于某些应用程序,例如 chrome,但是当我使用它时,我收到以下错误消息。

有人知道解决方案吗?我想知道通过运行应用程序究竟调用了哪些函数。

谢谢,

0 投票
1 回答
990 浏览

debugging - ltrace 和 gdb 附加到同一进程

是否可以同时使用ltracegdb?我有一个小型的剥离二进制程序,我想在其中查看一些库调用的变量内容,我可以使用ltrace.

是否可以将 gdb 和 ltrace 附加到同一个进程?

0 投票
1 回答
74 浏览

c - 无法从共享对象打印到文件

我以前在这里看到过与此类似的问题,但我无法从这些答案中解决我的问题。

我有一个文件libfoo.c,我正在从中创建一个共享对象。使用 gcc's __attribute__((constructor)),我想在加载此共享对象时向文件打印一条消息:

虚拟 malloc 实现(稍后将扩展)应在另一个虚拟程序中替换 stdlib.h 的 malloc,其源代码位于main.c

我正在编译和链接这两个文件,如下所示:

然后当我执行以下操作时,不会创建任何文件,也不会记录任何输出:

这里发生了什么?作为旁注:我如何尝试使用 ltrace 调试这样的问题?ltrace "LD_PRELOAD=... ./main"不是一个有效的命令。

编辑:这里发生了什么?如果我在程序段错误内调用,它似乎至少printf在共享对象内有效,但只能在设置函数内工作。在试图至少弄清楚连接到哪个终端时,我做了以下操作(在 setup 函数中):printfmallocstdout

这打印:

根据ttyname手册页,第二行输出应该是不可能的。我在这里完全误解了什么吗?

0 投票
1 回答
417 浏览

ltrace - 如何让 ltrace -S 显示系统调用的所有参数?

用来ltrace -S查看系统调用dlopen正在做什么,但后来我注意到它SYS_mmap仅限于 4 个参数:

而它总共需要 6 个参数。特别是文件描述符,即第六个参数没有显示,这对我的分析至关重要。

有没有办法ltrace展示我所有的论点?

ltrace0.7.3、Ubuntu 16.04 中测试。

0 投票
1 回答
230 浏览

c - 我如何找到该程序的许可证密钥?

我正在尝试为大学解决这个问题。我们必须“破解”一个程序,该程序缺少启动程序所需的许可证文件。我们只使用 Linux shell。

所以我已经做的是创建这个丢失的许可证文件。它是一个包含许可证持有者和许可证密钥的 .ini。我现在唯一要寻找的是正确的许可证密钥。任务说我们应该使用“strace”和“ltrace”来解决这个问题。这是我得到的输出:

所以我想答案就在最后的 memfrob 和 strncmp 函数中。但我不知道下一步是什么。

0 投票
0 回答
285 浏览

go - 如何在 Go 程序中使用 ltrace

我正在尝试调试 Go 上的内存问题,即 RSS 不断增加,通过 pprof 没有发现泄漏,很可能是由于 Go 在释放内存时没有将内存返回给操作系统(Go 中的经典 scavenger 问题:https://github .com/golang/go/issues/30333

我试图了解内存是如何分配到堆中的,以及它们何时被释放。strace 到目前为止没有多大帮助,所以我正在尝试使用 ltrace

不幸的是,它立即使程序崩溃。任何想法如何在 go 程序中使用 ltrace?还是根本不可能?