请问如何在ubuntu12.04内核模块中添加tracepoint?下面的添加方式对吗?

潘红 发布于 2013/05/16 10:49
阅读 282
收藏 0

请问如何在ubuntu12.04内核模块中添加tracepoint?下面的添加方式对吗?

#include <linux/init.h>
#include <linux/module.h>
#include"applicationx.h"
static int __init
hello_init(void)

 printk("Hello, world!\n");
tracepoint(applicationx, message, ”hello“);
 return 0;
}

module_init(hello_init);

static void __exit
hello_exit(void)
{
 printk("Goodbye, world!\n");
tracepoint(applicationx, message, ”goodbye“);
}

module_exit(hello_exit);


MODULE_LICENSE("GPL");
MODULE_AUTHOR("Valerie Henson <val@nmt.edu>");
MODULE_DESCRIPTION("\"Hello, world!\" minimal module");
MODULE_VERSION("printk");

2.Makefile:。。。(省略)

3.头文件:applicationx.h

#undef TRACEPOINT_PROVIDER
#define TRACEPOINT_PROVIDER applicationx

#undef TRACEPOINT_INCLUDE_FILE
#define TRACEPOINT_INCLUDE_FILE ./applicationx.h

#ifdef __cplusplus
extern "C" {
#endif

#if !defined(_APPLICATIONX_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
#define _APPLICATIONX_H

#include <lttng/tracepoint.h>

TRACEPOINT_EVENT(applicationx, message,TP_ARGS(int, MyInt), TP_FIELDS(  ctf_integer(int,message, MyInt) ))

TRACEPOINT_LOGLEVEL(
     
 applicationx, 
      
 message, 
      
 TRACE_WARNING)

#endif

#include <lttng/tracepoint-event.h>

#ifdef __cplusplus
}
#endif

 

 

加载中
返回顶部
顶部