2017-01-03 30 views
2

Я поднял VALGRIND banary для QNX 6.5 и смог запустить ОСРВ бинарного на примере программы, как показано ниже:как запустить Valgrind с QNX бинарников

# /usr/valgrind/x86/usr/bin/valgrind   
valgrind: no program specified 
valgrind: Use --help for more information. 

# /usr/valgrind/x86/usr/bin/valgrind --version 
valgrind-3.10.1 
# /usr/valgrind/x86/usr/bin/valgrind --tool=memcheck 
valgrind: no program specified 
valgrind: Use --help for more information. 
# /usr/valgrind/x86/usr/bin/valgrind --tool=memcheck ls 
==6332450== Memcheck, a memory error detector 
==6332450== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. 
==6332450== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info 
==6332450== Command: ls 
==6332450== 
==6332450== 
==6332450== 
==6332450== Valgrind is exiting: 
==6332450== Symbols for /proc/boot/libc.so.3 are required but not found. 
==6332450== (Suggestion: compile that binary with debug-information, or provide a separate symbol-file.) 
==6332450== 
==6332450== 

Но пока запустить тот же двоичный файл с вооружить двоичный (код, скомпилированный на процессоре ARM) его метание ошибки ниже:

# /usr/valgrind1/x86/usr/bin/valgrind /usr/bt 

(здесь Ь является двоичным скомпилирован с рычагом)

Valgrind: исполняемый файл не для этой архитектуры

Примечание:/USR/valgrind_arm/Valgrind/бен/Valgrind Ls /USR/valgrind_arm/Valgrind/бен/Valgrind [1]: ошибка синтаксиса: `^ AÜ $ O4T^H» неожиданный

Любое предложение или ответ будет высоко оценен.

+0

Где вы получите Valgrind для QNX/ARM? Я ищу его. – xiaokaoy

ответ

1

Причина /proc/boot/libc.so.3 не содержит отладочных символов. Попробуйте запустить valgrind из текущего рабочего каталога /lib, который содержит другую версию libc.so.3 с символами отладки. Или установить свой путь в качестве

valgrind --tool=memcheck --extra-debuginfo-path=/lib <prog_name>