mtrace + MALLOC_TRACE - 禁用缓冲
如何禁用 mtrace
上的缓冲并输出名称为 MALLOC_TRACE
的文件?
mtrace 的启动方式为:
$ cat libmtrace1.c
#include <mcheck.h>
static __attribute__((constructor)) void mtrace_install(void) {
atexit(&muntrace);
mtrace();
}
$gcc libmtrace1.c -fPIC -shared -o libmtrace1.so
$LD_PRELOAD=./libmtrace1.so MALLOC_TRACE=mtrace_log /bin/ls
how can I disable buffering on mtrace
and output file with name from MALLOC_TRACE
??
the mtrace is started as:
$ cat libmtrace1.c
#include <mcheck.h>
static __attribute__((constructor)) void mtrace_install(void) {
atexit(&muntrace);
mtrace();
}
$gcc libmtrace1.c -fPIC -shared -o libmtrace1.so
$LD_PRELOAD=./libmtrace1.so MALLOC_TRACE=mtrace_log /bin/ls
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嘿。只需自己编写另一个类似 mtrace 的插件并使用
malloc_hook(3)
安装它即可。Hey. Just write youself an another mtrace-like plugin and install it using
malloc_hook(3)
.