Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C++;使用liblttng 我正在使用一个用户空间C++应用程序,使用Linux跟踪工具包,它提供跟踪点(提供者、名称等)。p>_C++_Function_Logging_Trace_Lttng - Fatal编程技术网

在C++;使用liblttng 我正在使用一个用户空间C++应用程序,使用Linux跟踪工具包,它提供跟踪点(提供者、名称等)。p>

在C++;使用liblttng 我正在使用一个用户空间C++应用程序,使用Linux跟踪工具包,它提供跟踪点(提供者、名称等)。p>,c++,function,logging,trace,lttng,C++,Function,Logging,Trace,Lttng,我想在我的源代码中放一个 -跟踪点(提供程序、名称等) 语句在每个函数入口和出口点 有没有可能通过某种方式实现自动化?手动放置所有这些文件非常麻烦 我想用方面编程以外的方法来实现这一点。您可以使用liblttng-ust-cyg配置文件。因此helper库可以从每个函数入口和出口获取LTTng-ust跟踪点 使用-g-finstrument函数重新编译程序 通过预加载辅助程序库来运行它: LD_PRELOAD=/path/to/liblttng-ust-cyg-profile.so./myA

我想在我的源代码中放一个

-跟踪点(提供程序、名称等)

语句在每个函数入口和出口点

有没有可能通过某种方式实现自动化?手动放置所有这些文件非常麻烦


我想用方面编程以外的方法来实现这一点。

您可以使用
liblttng-ust-cyg配置文件。因此
helper库可以从每个函数入口和出口获取LTTng-ust跟踪点

  • 使用
    -g-finstrument函数重新编译程序
  • 通过预加载辅助程序库来运行它:
    • LD_PRELOAD=/path/to/liblttng-ust-cyg-profile.so./myApp
这将为每个插入指令的函数入口和出口生成跟踪事件。请注意,跟踪点将只包含函数地址,而不包含名称。这是cyg配置文件的一个限制。要将这些映射回函数名,可以使用类似于
addr2line
的实用程序

有关更多详细信息,请参阅文档部分


这可能会对性能产生不可忽略的影响,具体取决于检测功能的数量。另外, Fr.TrimPrices函数应该在技术上与C++应用程序一起工作,但是它可能很挑剔。我曾用大型非平凡C++应用程序编译失败。您的里程数可能会有所不同。

您说liblttng-ust-cyg-profile.so可用于从每个函数入口和出口获取跟踪点。我希望能够在函数入口和出口插入跟踪点语句