google-pprof показывает результат из ARM

Я использую Google Perf инструменты для анализа моей программы. Запустите программу на рычаге устройства Cortex A9.

LD_PRELOAD="/usr/lib/libprofiler.so.0" CPUPROFILE=./prof.out CPUPROFILE_REALTIME=1 CPUPROFILE_FREQUENCY=1000 TCMALLOC_STACKTRACE_METHOD=arm bin/driver -c etc/driver/config.json

Следующий результат профилирования загрузки на хосте linux-mint. И запустить Google-Pprof

google-pprof --text projects/build/ARM_VARISCITE/bin/driver prof.out

Но я испортил результаты

Using local file projects/OrionWebModules/build/ARM_VARISCITE/bin/driver.
Using local file prof.out.
/usr/bin/objdump: '/usr/lib/libPocoXML.so.46': No such file
/usr/bin/objdump: '/lib/librt-2.19.so': No such file
/usr/bin/objdump: '/lib/libdl-2.19.so': No such file
/usr/bin/objdump: '/lib/libpthread-2.19.so': No such file
/usr/bin/objdump: '/lib/libm-2.19.so': No such file
/usr/bin/objdump: '/usr/lib/libunwind.so.8.0.1': No such file
/usr/bin/objdump: '/lib/libc-2.19.so':No such file
/usr/bin/objdump: '/lib/libgcc_s.so.1': No such file
/usr/bin/objdump: '/usr/lib/libstdc++.so.6.0.18': No such file
/usr/bin/objdump: '/usr/lib/libPocoFoundation.so.46': No such file
/usr/bin/objdump: '/usr/lib/libPocoJSON.so.46': No such file
/usr/bin/objdump: '/usr/lib/libPocoUtil.so.46': No such file
/usr/bin/objdump: '/usr/lib/libPocoNet.so.46': No such file
/usr/bin/objdump: '/usr/lib/libprofiler.so.0.4.8': No such file
/usr/bin/objdump: '/lib/ld-2.19.so': No such file
/usr/bin/addr2line: '/lib/ld-2.19.so': No such file
/usr/bin/addr2line: '/usr/lib/libPocoFoundation.so.46':No such file
/usr/bin/addr2line: '/usr/lib/libstdc++.so.6.0.18': No such file
/usr/bin/addr2line: '/lib/libc-2.19.so': No such file
/usr/bin/addr2line: '/lib/libpthread-2.19.so': No such file
Total: 202934 samples
202672  99.9%  99.9%   202672  99.9% 76a0d1a4
212   0.1% 100.0%      212   0.1% 76921c98
17   0.0% 100.0%       17   0.0% 76a7b774
6   0.0% 100.0%        6   0.0% 76a9f2fc
3   0.0% 100.0%        3   0.0% 76aaf474
1   0.0% 100.0%        1   0.0% 76921c9c
1   0.0% 100.0%        1   0.0% 76a0d18c
1   0.0% 100.0%        1   0.0% 76a0d1b8
1   0.0% 100.0%        1   0.0% 76a4ff3c
1   0.0% 100.0%        1   0.0% 76a51280
1   0.0% 100.0%        1   0.0% 76a539fc
1   0.0% 100.0%        1   0.0% 76a57c70
1   0.0% 100.0%        1   0.0% 76a9f324
1   0.0% 100.0%        1   0.0% 76a9fba4
1   0.0% 100.0%        1   0.0% 76abd378
1   0.0% 100.0%        1   0.0% 76bc0f20
1   0.0% 100.0%        1   0.0% 76be3308
1   0.0% 100.0%        1   0.0% 76c6fff0
1   0.0% 100.0%        1   0.0% 76d158fc
1   0.0% 100.0%        1   0.0% 76d41a3c
1   0.0% 100.0%        1   0.0% 76f776e8
1   0.0% 100.0%        1   0.0% 76f77ca8
1   0.0% 100.0%        1   0.0% 76f77cb8
1   0.0% 100.0%        1   0.0% 76f7ccd8
1   0.0% 100.0%        1   0.0% 76f86ff0
1   0.0% 100.0%        1   0.0% 76f881c0
1   0.0% 100.0%        1   0.0% Poco::AtomicCounter::operator--
1   0.0% 100.0%        1   0.0% Poco::SharedPtr::release
1   0.0% 100.0%        1   0.0% __destroy

Все библиотеки устанавливаются в библиотеку инструментов. Как я могу настроить путь sysroot? И показывать имена методов вместо адресов?

0

Решение

нужно использовать два флага

первый:

--tools= /opt/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-

полный путь к инструментам компилятора с префиксом toolchain. Вы можете использовать также переменную PPROF_TOOLS.

второй:

--lib_prefix=<path_to_usr_lib>,<path_toolchain_lib>

также необходимо отключить флаг gcc -fomit-frame-pointer

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]