- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
是否可以在不使用 LD_PRELOADing liblttng-ust-cyg-profile 并使用 -finstrument-functions 进行编译的情况下从 lttng 获取回溯?
我无法从 lttng 代码中看出它在预加载该库以允许跟踪查看器 (tracecompass) 显示回溯时有何不同!?
这是我的测试应用:
test_tracepoints.h:
#undef TRACEPOINT_PROVIDER
#define TRACEPOINT_PROVIDER test
#undef TRACEPOINT_INCLUDE
#define TRACEPOINT_INCLUDE "test_tracepoints.h"
#if !defined(TEST_TRACEPOINTS_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
#define TEST_TRACEPOINTS_H
#include <lttng/tracepoint.h>
TRACEPOINT_EVENT_CLASS(
test,
test_tc,
TP_ARGS(const char *, str_arg, void *, func_addr),
TP_FIELDS(ctf_integer_hex(unsigned long, addr, (unsigned long) func_addr)
ctf_integer_hex(unsigned long, call_site, __builtin_return_address(0))
ctf_string(str, str_arg)))
TRACEPOINT_EVENT_INSTANCE(
test,
test_tc,
test_tp_start,
TP_ARGS(const char *, str_arg, void *, func_addr))
TRACEPOINT_EVENT_INSTANCE(
test,
test_tc,
test_tp_end,
TP_ARGS(const char *, str_arg, void *, func_addr))
#endif
#include <lttng/tracepoint-event.h>
test_tracepoints.c:
#define TRACEPOINT_DEFINE
#define TRACEPOINT_CREATE_PROBES
#define TP_IP_PARAM func_addr
#include "test_tracepoints.h"
测试.lttng.c:
#include "test_tracepoints.h"
#include <unistd.h>
void f(useconds_t usec)
{
const char * str = "f";
tracepoint(test, test_tp_start, str, f);
usleep(usec);
tracepoint(test, test_tp_end, str, f);
}
int main()
{
for (unsigned n = 0; n != 10000; ++n)
{
f(100);
f(200);
}
return 0;
}
我正在测试这个:
gcc -O0 -g -fno-omit-frame-pointer -I . test_tracepoints.c test.lttng.c -o test.lttng -llttng-ust -ldl
lttng-sessiond --daemonize
lttng create -o lttng.session.test test
lttng enable-event -u -a
lttng add-context -s test -u -t procname -t vtid
lttng list test
lttng start test
./test.lttng
lttng destroy test
pkill lttng-sessiond
最佳答案
不,目前不直接支持它。但它肯定在愿望 list 上。
当您预加载 function tracing helper (liblttng-ust-cyg-profile.so
,或其 -fast
版本),LTTng 事件在每个时间点发出(以 lttng_ust_cyg_profile
为前缀)功能入口/导出。您需要创建一个事件规则来显式启用它们:
lttng enable-event --userspace lttng_ust_cyg_profile'*'
我不确定 Trace Compass不过,在其分析中完全使用这些事件记录。
关于linux - 在没有 liblttng-ust-cyg-profile 的情况下获取 lttng 回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40887396/
格式为here-解释如何安装apt-cyg Install apt-cyg You may have heard of programs like apt-get (Ubuntu), yum/dnf
在 Ubuntu 中,你可以像这样运行一行 sudo apt-add-repository ppa:swi-prolog/stable 如何使用 apt-cyg在 Cygwin 窗口中? 最佳答案 您
如何为apt-cyg、http和socks设置代理?我尝试使用 export http_proxy= 但是没有用。 最佳答案 这应该有效: export ftp_proxy=http://[user]
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我遇到了 cyg-apt 命令的问题(在 Windows 7 64 位虚拟机上运行的 cygwin 1.7 上) 我已按照这些步骤正确安装 cyg-apt: Install cygwin Insta
2011 年还有其他关于此的帖子,但没有标记为已接受的答案(请参阅 here)。 我的 Cygwin 提示缺少 .DLL,如下所示: /usr/bin/curl.exe: error whil
我正在使用 Cygwin,我需要安装 g++ 编译器,所以我尝试使用 apt-cyg。 它返回一些包发生的错误,但其他包则不会。例如,我可以安装 git 包,我在讨论该主题的博客中找到了该包,并将其作
我正在使用 Cygwin,我需要安装 g++ 编译器,所以我尝试使用 apt-cyg。 它返回一些包发生的错误,但其他包则不会。例如,我可以安装 git 包,我在讨论该主题的博客中找到了该包,并将其作
是否可以在不使用 LD_PRELOADing liblttng-ust-cyg-profile 并使用 -finstrument-functions 进行编译的情况下从 lttng 获取回溯? 我无法
我是一名优秀的程序员,十分优秀!