鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

配置文件使用示例

配置文件(RECORD_CONF)

两种使用工具的方式均需通过配置文件来指定需要插桩的函数。此文件可以自行创建,也可以使用symbol工具生成,文件格式为纯文本,每行包含一个函数符号名。

配置文件内容示例(my_app.conf):

1
2
3
4
_Z4addii 
connect
epoll_wait 
_ZN12MyNameSpace8MyClass4evalEv  # C++ Mangled Name

示例文件指定了对_Z4addii、epoll_wait等函数进行采集。

自定义函数名称规则:

  • 若为C++编译生成的二进制文件,函数名称需为Mangled Name机制改写过的函数名称,可通过“nm 二进制文件”或“readelf -s 二进制文件”命令查看改写后的函数名称。
  • 若为C编译生成的二进制文件,使用原函数名称即可。
  • 针对Attach模式,支持在配置文件中输入原始函数名,如以下函数可以在配置文件中输入为“abc::Service::Func”。
    1
    2
    3
    4
    5
    6
    namespace abc { 
    	class Service { 
    	public:
     		void Func();
            } 
    }
    
若使用工具单独包,可使用symbol二进制文件快速生成配置文件:
1
./symbol /path/to/your_app -e 'Test&Symbol' -o path/to/output.conf
  • -e参数指定待采集符号,“Test&Symbol”表示采集所有含Test和Symbol的符号。
  • -o参数指定生成的配置文件路径。