Oracle® Developer Studio 12.5:性能分析器

退出打印视图

更新时间: 2016 年 6 月
 
 

从正在运行的程序中收集跟踪数据

如果要收集任何种类的跟踪数据,则必须在运行程序之前预装入收集器库 libcollector.so。要收集堆跟踪数据或同步等待跟踪数据,还必须分别预装入 er_heap.soer_sync.so。这些库提供了能使数据收集发生的实际函数的包装。此外,收集器还将包装函数添加到其他系统库调用中,以保证性能数据的完整性。如果未预装入库,则不能插入这些包装函数。有关收集器如何插入系统库函数的更多信息,请参见使用系统库

要预装入 libcollector.so,必须使用环境变量同时设置库的名称和库的路径,如下表中所示。 使用环境变量 LD_PRELOAD 设置库的名称。 使用环境变量 LD_LIBRARY_PATH、LD_LIBRARY_PATH_32 或 LD_LIBRARY_PATH_64 设置库的路径。 如果未定义 _32 和 _64 变量,则使用 LD_LIBRARY_PATH。如果已经定义了这些环境变量,则向其中添加新值。

表 7  用来预装入 libcollector.soer_sync.soer_heap.so 的环境变量设置
环境变量
LD_PRELOAD
libcollector.so
LD_PRELOAD
er_heap.so
LD_PRELOAD
er_sync.so
LD_LIBRARY_PATH
/opt/developerstudio12.5/lib/analyzer/runtime
LD_LIBRARY_PATH_32
/opt/developerstudio12.5/lib/analyzer/runtime
LD_LIBRARY_PATH_64
/opt/developerstudio12.5/lib/analyzer/v9/runtime
LD_LIBRARY_PATH_64
/opt/developerstudio12.5/lib/analyzer/amd64/runtime

如果 Oracle Developer Studio 软件未安装在 /opt/developerstudio12.5 中,请向系统管理员咨询正确的路径。可以在 LD_PRELOAD 中设置全路径,但是,当使用 SPARC® V9 64 位体系结构时,这样做会使问题复杂化。


注 -  运行后删除 LD_PRELOADLD_LIBRARY_PATH 设置,以便它们对于从同一个 shell 启动的其他程序无效。