PINTOOL工具的配置使用转载请注明文档出处文档格式.docx

上传人:b****6 文档编号:17405827 上传时间:2022-12-01 格式:DOCX 页数:5 大小:17.59KB
下载 相关 举报
PINTOOL工具的配置使用转载请注明文档出处文档格式.docx_第1页
第1页 / 共5页
PINTOOL工具的配置使用转载请注明文档出处文档格式.docx_第2页
第2页 / 共5页
PINTOOL工具的配置使用转载请注明文档出处文档格式.docx_第3页
第3页 / 共5页
PINTOOL工具的配置使用转载请注明文档出处文档格式.docx_第4页
第4页 / 共5页
PINTOOL工具的配置使用转载请注明文档出处文档格式.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PINTOOL工具的配置使用转载请注明文档出处文档格式.docx

《PINTOOL工具的配置使用转载请注明文档出处文档格式.docx》由会员分享,可在线阅读,更多相关《PINTOOL工具的配置使用转载请注明文档出处文档格式.docx(5页珍藏版)》请在冰豆网上搜索。

PINTOOL工具的配置使用转载请注明文档出处文档格式.docx

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

好的,入正题,安装yum,其实说安装不确切,在安装redhat的时候yum,其实已经安装好了,然而redhat官方的本意是这个需要收费的(他使用的是收费源),所以咱们需要修改yum的配置文件来达到免费使用的目的。

好的先介绍一下什么是repo文件?

repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

建立新的配置文件:

[root@killgoogle~]#cd/etc/yum.repos.d

[root@killgoogle~]#touchrhel-debuginfo.repo

[root@killgoogle~]#touchmirrors-rpmforge

[root@killgoogle~]#touchrpmforge.repo

往新的配置文件写东西:

vi的使用:

 执行下面的virhel-debuginfo.repo命令之后会进入vi的命令模式,这个时候点击i键,进入编辑模式,将下面提供的文档copy进去,编辑完整之后点击Esc按键,然后同时按住shift和;

按键推出,此时光标移到最后一行的冒号后面,这个时候输入命令wq(保存并退出的意思)。

OK,你可以继续了......

[root@killgoogle~]#virhel-debuginfo.repo

[base]

name=CentOS-5-Base

#mirrorlist=http:

//mirrorlist.centos.org/?

release=$releasever5&

arch=$basearch&

repo=os

#baseurl=http:

//mirror.centos.org/centos/$releasever/os/$basearch/

baseurl=

gpgcheck=1

gpgkey=http:

//mirror.centos.org/centos/RPM-GPG-KEY-centos5

#releasedupdates

[update]

name=CentOS-5-Updates

release=4&

repo=updates

#packagesused/producedinthebuildbutnotreleased

[addons]

name=CentOS-5-Addons

repo=addons

#additionalpackagesthatmaybeuseful

[extras]

name=CentOS-5-Extras

repo=extras

#additionalpackagesthatextendfunctionalityofexistingpackages

[centosplus]

name=CentOS-5-Plus

repo=centosplus

enabled=0

#contrib-packagesbyCentosUsers

[contrib]

name=CentOS-5-Contrib

repo=contrib

#vidag.repo

[dag]

name=DagRPMRepositoryforRHEL5

baseurl=http:

//ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/

enabled=1

//ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt

修改第二个配置文件:

[root@killgoogle~]vimirrors-rpmforge

http:

//apt.sw.be/redhat/el5/en/$ARCH/dag

//archive.cs.uu.nl/mirror/dag.wieers/redhat/el5/en/$ARCH/dag

//ftp2.lcpe.uni-sofia.bg/freshrpms/pub/dag/redhat/el5/en/$ARCH/dag

#http:

//ftp.heanet.ie/pub/freshrpms/pub/dag/redhat/el5/en/$ARCH/dag

//ftp-stud.fht-esslingen.de/dag/redhat/el5/en/$ARCH/dag

//mirror.cpsc.ucalgary.ca/mirror/dag/redhat/el5/en/$ARCH/dag

//mirrors.ircam.fr/pub/dag/redhat/el5/en/$ARCH/dag

//rh-mirror.linux.iastate.edu/pub/dag/redhat/el5/en/$ARCH/dag

//wftp.tu-chemnitz.de/pub/linux/dag/redhat/el5/en/$ARCH/dag

//www.mirrorservice.org/sites/apt.sw.be/redhat/el5/en/$ARCH/dag

修改第三个配置文件:

[root@killgoogle~]#virpmforge.repo

#Name:

RPMforgeRPMRepositoryforRedHatEnterprise5-dag

#URL:

[rpmforge]

name=RedHatEnterprise$releasever-RPM-dag

#baseurl=http:

//apt.sw.be/redhat/el5/en/$basearch/dag

mirrorlist=http:

//apt.sw.be/redhat/el5/en/mirrors-rpmforge

#mirrorlist=file:

///etc/yum.repos.d/mirrors-rpmforge

enabled=1

protect=0

gpgkey=file:

///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag

gpgcheck=1

以上的都完成之后,祝贺你,你已经完成了99%了,坚持就是胜利哦

下一步,安装g++,输入命令 yum install gcc-g++;

如果出现如果系统启动的时候,yum出现Existinglock/var/run/yum.pid:

anothercopyisrunningaspid3380.Aborting.可以用下面的办法解决:

[root@killgoogle~]/etc/init.d/yum-updatesdstop

也可以用以下方法:

[root@killgoogle~]rm-f/var/run/yum.pid

主要原因就是yum在自动更新只要关掉它就可以了。

然后继续yum install gcc-g++

好的,经历了这么多波折,咱们终于进入正题了,使用pintool

四 pintool的使用

首相将从官网www.pintool.org下载的pin-2.4-20148-gcc.3.4.6-ia32_intel64-linux.tar.gz放在桌面上,打开终端

输入  cd /home/你的用户名/Desktop

$tarzxfpin-2.4-20148-gcc.3.4.6-ia32_intel64-linux.tar.gz  解压

$cdpin-2.4-20148-gcc.3.4.6-ia32_intel64-linux     进入解压的那个文件夹

$cdsource/tools/ManualExamples/   进入需要操作的文件夹

$maketest              make test 文件

 假如是你写的helloworld.cpp,就cd 你的helloworld.cpp的文件夹,然后gcc helloworld.cpp

/usr/bin/g++-c-Wall-Werror-Wno-unknown-pragmas-g-O3-fomit-frame-pointer

-DBIGARRAY_MULTIPLIER=1-DUSING_XED-g-fno-strict-aliasing-I../Include

-I../InstLib-I../../../extras/xed2-intel64/include-I../../../source/include

-I../../../source/include/gen-DTARGET_IA32E-DHOST_IA32E-fPIC-DTARGET_LINUX

-oobj-intel64/inscount0.oinscount0.cpp

/usr/bin/g++-g-shared-Wl,-Bsymbolic-Wl,--version-script=../../../source/include/pintool.ver

-L../Lib/-L../ExtLib/-L../../../extras/xed2-intel64/lib-L../../../intel64/lib

-L../../../intel64/lib-ext-oobj-intel64/inscount0.soobj-intel64/inscount0.o

-L../../../intel64/lib-ext-lpin-lxed-ldwarf-lelf-ldl-gtouchinscount0.tested

touchinscount0.failed

touchobj-intel64/inscount0.so.makefile.copy;

rmobj-intel64/inscount0.so.makefile.copy

../../../pin-slow_asserts-tobj-intel64/inscount0.so--/bin/cpmakefileobj-intel64/inscount0.so.makefile.copy

cmpmakefileobj-intel64/inscount0.so.makefile.copy

rmobj-intel64/inscount0.so.makefile.copy;

rminscount0.failed

<

etc.>

$../../../pin-tobj-intel64/pinatrace.so--/bin/ls

如果是helloworld,就是pin的位置/pin -t pinatrace.so的位置/pinatrace.so ―― helloworld的位置/helloworld

_insprofiler.cppatrace.outinscount0.oitrace.cppproccount

atraceimageload.cppinscount1.cppitrace.oproccount.cpp

atrace.cppinscount0insprofiler.cppitrace.outproccount.o

atrace.oinscount0.cppitracemakefileproccount.out

当然你可以用别的库分析自己的程序哦,格式如下:

pin -t 库.so 分析的程序.out

$headpinatrace.out

打印你的结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1