how to run valgrind with qnx binaries

3.4k views Asked by At

I picked up a valgrind banary for qnx 6.5 and was able to run the qnx binary on a sample program as below :

# /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==

But while to run the same binary with a arm binary(code compiled on arm processor) its throwing the below error :

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

(here bt is the binary compiled with arm)

valgrind: executable is not for this architecture

Note : /usr/valgrind_arm/valgrind/bin/valgrind ls /usr/valgrind_arm/valgrind/bin/valgrind[1]: syntax error: `^AÜ$O4T^H' unexpected

Any suggestion or response will be highly appreciated .

1

There are 1 answers

0
Edward On

Cause /proc/boot/libc.so.3 don't have debugging symbols. Try run valgrind from current working directory /lib, that containing different version of libc.so.3 with debug symbols. Or set its path as

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