配置文件使用示例
配置文件(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参数指定生成的配置文件路径。
父主题: 链路时延检测