我希望将所有源文件放在一个位置,因此我的目标是在lttng-modules目录之外构建lttng-probe-xxx模块。 我已经创建了简单的Makefile,但是在编译过程中遇到了麻烦,接下来当我尝试加载模块时,我得到消息“ lttng_probe_register”和“ lttng_probe_unregister”是未定义的(在编译过程中是相同的)。

生成文件:

INCLUDES = -I. -I$(LTTNGDIR)/probes -I$(ROOTPWD)/include -I$(KERNELDIR)/include
KBUILD_CFLAGS += -g $(INCLUDES)

all: kernel_modules
obj-m   += lttng-probe-hello.o
PWD     := $(shell pwd)

kernel_modules:
    $(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) modules`

KERNELDIR是导出变量,是Linux内核的src。

LTTNGDIR是导出的变量,其中lttng-modules的src。

是否可以将这两个文件从lttng-probes.c链接到我的lttng-probe-hello.ko?

EXPORT_SYMBOL_GPL(lttng_probe_register);
EXPORT_SYMBOL_GPL(lttng_probe_unregister);

#1楼 票数:0

问题在于Makefile在lttng-modules中看不到Module.symvers,而仅在Linux内核中看到。 为了解决这个问题,我使用了KBUILD_EXTRA_SYMBOLS。

KBUILD_EXTRA_SYMBOLS += "$(LTTNGDIR)/Module.symvers"

  ask by Gustaw Lewandowski translate from so

未解决问题?本站智能推荐:

1回复

如何为arm64交叉编译lttng-modules?

我一直在尝试使用arm64工具链来执行此操作,但出现错误error: unrecognized command line option '-mgeneral-regs-only' 。 在谷歌搜索上,我建议我将aarch64工具链用于msm,我这样做了。 但是现在我得到了这个错误error:
1回复

LTTNG 是否可以进行日志轮换?

是否可以对 Lttng 收集的跟踪应用大小限制或覆盖旧跟踪。 /lttng-relayd.lin64 -C tcp://0.0.0.0:5347 -D tcp://0.0.0.0:5348 -L net://localhost:5349 -o lttng-traces -b --working-
1回复

RaspberryPi上的LTTng-modules-2.8问题

我正在使用Raspbian 4.9.80+的RaspberryPi Zero W,并且尝试安装LTTng-modules-2.8,但是当我键入这些命令时 我收到此消息(输入命令“ make”后): 我正确下载了模块,但似乎它们不存在; 我怎么解决这个问题? 谢谢,伊凡
3回复

如何构建LTTng并将其部署到嵌入式Linux系统?

http://lttng.org/download上可用的源tarball中的README文件似乎假定该文件是在将作为跟踪目标的同一Linux系统上构建的。 我找到了其他资源来解释如何执行此操作( LTTng项目YouTube频道提供了非常不错的截屏视频),但是我找不到有关如何交叉编译LTTn
1回复

LTTng中的痕量损失

我在应用程序中使用Lttng。 我已启用大量跟踪,但发现跟踪丢失。 有没有办法知道是否有任何痕迹丢失或有关的任何信息。 是否有任何API调用来了解它们。 谢谢与问候,KVRanganadh。
1回复

如何销毁多会话LTTng

我创建了一个LTTng会话: 然后无意中创建了另一个会话: 所以我破坏了会议: 但是,它只会破坏B。另一个“ lttng破坏”仅给出了错误。 我应该怎么做才能销毁A?
1回复

从未启用LTTng和Babeltrace python绑定

我已经安装了LTTng和Babeltrace,然后按照 sudo apt-get install lttng-tools sudo apt-get install lttng-modules-dkms sudo apt-get install liblttng-ust-dev sudo a
1回复

是否可以查看正在运行的 LTTng 跟踪会话的跟踪?

我知道命令lttng view 。 但它只能在会话停止后用于查看会话。