- 論壇徽章:
- 0
|
沒人來回答此問題,那我就把編譯過程中遇到的問題貼出來吧,給大家共享:
STEP 1:
下載最新版本的valgrind:
http://www.valgrind.org/downloads/valgrind-3.9.0.tar.bz2
目前支持的平臺,在官網(wǎng)上列表如下:
{x86,amd64,arm,ppc32,ppc64,s390x,mips32,mips64}-linux, arm-android (2.3 and later), x86-android (4.0 and later) and {x86,amd64}-darwin (Mac OS X 10.7, with limited support for 10. .
STEP 2:
首先要配置編譯選項,選擇你的目標平臺,因為我是在mips32平臺上運行,所以配置如下:
./configure --host=mips-linux-gnu --prefix=/home/xxx/workspace/valgrind/bin --program-prefix=mips-linux-gnu- CFLAGS="-EL" LDFLAGS="-EL"
注意:大小端的問題;剛開始配置沒有注意這個,運行總是報語法錯誤,后來運行file命令查看,發(fā)現(xiàn)與正常運行的程序差異在于這塊;
1 $ file mips-linux-gnu-valgrind
2 mips-linux-gnu-valgrind: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1, dynamically linked (uses shared libs), for GNU/Linux 2.6.12, with unknown capability 0xf41 = 0x756e6700, not stripped
STEP 3:
生成Makefile后,直接編譯即可;在編譯過程中,會遇到卡在一個地方過不支,需將drd/Makefile中-O2修改為-O1:
1 DRD_CFLAGS = \
2 --param inline-unit-growth=900 \
3 -O1 \
4 -Wextra \
5 -Wformat-nonliteral \
6 -Wno-inline \
7 -Wno-unused-parameter
STEP 4:
安裝,然后將執(zhí)行文件copy到開發(fā)板上;需要注意的安裝目錄與你要拷貝到開發(fā)板上的路徑要完全一致;
這點很重要,因為在編譯時路徑的hardcode已經(jīng)在程序中了,如果不一致,運行時會提示找不到文件:
ex.
在host上,我編譯安裝valgrind的路徑是:/home/xxx/valgrind/bin, 那么將valgrind拷貝到開發(fā)板上的路徑也要是這個,程序才能正確執(zhí)行;
STEP 5:
運行valgrind, 后面跟上要debug的文件即可; |
|