2017-01-03 29 views
2

我拿起Valgrind的banary的QNX 6.5,並能在下面的一個範例程序運行QNX的二進制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== 

但是,當運行具有相同的二進制臂二進制(開臂處理器編譯的代碼)其投擲下面的錯誤:

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

(這裏BT與臂編譯二進制)

的valgrind:可執行不是此架構

注:在/ usr/valgrind_arm /的valgrind/bin中/ Valgrind的LS 的/ usr/valgrind_arm /的valgrind/bin中/ Valgrind的[1]:語法錯誤:`^ AU $ O4T^H」意外

任何建議或反應將高度讚賞。

+0

你從哪裏得到QNX/ARM的valgrind?我在找它。 – xiaokaoy

回答

1

原因/proc/boot/libc.so.3沒有調試符號。 嘗試從當前工作目錄/lib運行valgrind,其中包含具有調試符號的libc.so.3的不同版本。或設定其路徑爲

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

相關問題