娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月13日(星期一)

正在發生

2020年01月13日 | 在ARM Linux 使用 Valgrind

發布者:科技舞者 來源: eefocus關鍵字:ARM  Linux  Valgrind 手機看文章 掃描二維碼
隨時隨地手機看文章

Linux valgrind 移植到ARM-Linux


 一、Cross-Compile/交叉編譯


(1)下載及解壓Valgrind-3.11


(2)修改confirure


  將armv7*)修改為armv7*|arm*)


(3)執行configure


./configure CC=arm-linux-gcc CPP=arm-linux-cpp CXX=arm-linux-g++  --host=arm-linux --prefix=/opt/valgrind/lib


注意:CC=arm-linux-gcc,之所以沒有像有些博客上寫的、用了絕對路徑,是因為「我已經將arm-linux-gcc 軟鏈接/soft-linke 到了實際的gcc」。


(4)make


(5)make install


二、移植到ARM開發板


注意:make install之后,編譯生成的bin/和lib/目錄存放在PC上的/opt/valgrind/lib目錄下。將此目錄下的bin/和lib/目錄單獨「復制/Copy」出來,不要Copy share/和include/目錄,因為文件有點大,而且include/和share/這兩個目錄在開發板上沒有用。


  在ARM開發板上建立「目錄-/opt/valgrind/lib/valgrind/」,將上面剛剛編譯得到的lib/目錄下的文件(.so, .a 等)放到左邊提到的這個目錄(/opt/valgrind/lib/valgrind)中。


注意:上面這個步驟非常關鍵,如果放錯位置,在運行程序valgrind的時候,會提示「failed to start 'memcheck' : No such file or directory」。


三、ARM上配置使用


1、Error:在運行「./valgrind ls」的時候依然碰到了一個錯誤,出現在「vgdb」。錯誤提示是:


[12:58:19]root@freescale ~/valgrind/valgrind/bin$ ./valgrind ls           

[12:58:19]==5978== Memcheck, a memory error detector

[12:58:19]==5978== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.

[12:58:19]==5978== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info

[12:58:19]==5978== Command: ls

[12:58:19]==5978== 

[12:58:20]==5978== error writing 36 bytes to shared mem /tmp/vgdb-pipe-shared-mem-vgdb-5978-by-root-on-???


在網頁failure to run on armv6 following the armv6 legacy patches suggested by bug 276897找到了一個暫時的方法,就是臨時禁用「vgdb」。


[12:54:55]root@freescale ~/valgrind/valgrind/bin$ ./valgrind --vgdb=no ls 

[12:54:55]==5976== Memcheck, a memory error detector

[12:54:55]==5976== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.

[12:54:55]==5976== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info

[12:54:55]==5976== Command: ls

[12:54:55]==5976== 

[12:54:56]ERROR: ld.so: object '/opt/valgrind/lib/valgrind/vgpreload_core-arm-linux.so' from LD_PRELOAD cannot be preloaded: ignored.

[12:54:56]ERROR: ld.so: object '/opt/valgrind/lib/valgrind/vgpreload_memcheck-arm-linux.so' from LD_PRELOAD cannot be preloaded: ignored.

[12:54:57]==5976== Conditional jump or move depends on uninitialised value(s)

[12:54:57]==5976==    at 0x4909C98: index (in /lib/libc-2.11.1.so)

[12:54:57]==5976== 

[12:54:58]==5976== Conditional jump or move depends on uninitialised value(s)

[12:54:58]==5976==    at 0x4909D90: strcmp (in /lib/libc-2.11.1.so)

[12:54:58]==5976==    by 0x4910377: strcoll_l (in /lib/libc-2.11.1.so)

[12:54:58]==5976== 

[12:54:58]==5976== Conditional jump or move depends on uninitialised value(s)

[12:54:58]==5976==    at 0x4909D98: strcmp (in /lib/libc-2.11.1.so)

[12:54:58]==5976==    by 0x4910377: strcoll_l (in /lib/libc-2.11.1.so)


 2、LD_PRELOAD錯誤


 [12:54:56]ERROR: ld.so: object '/opt/valgrind/lib/valgrind/vgpreload_core-arm-linux.so' from LD_PRELOAD cannot be preloaded: ignored. 


上述的錯誤,經過檢查,發現:「/opt/valgrind/lib/valgrind」缺少一些「.so/共享動態庫」。重新編譯「Valgrind」,并且用「arm-linux-strip」將文件進行精簡,順利復制。程序也順利運行。


四、Valgrind簡介


1、Valgrind是什么?


2、Valgrind能做什么?


(1)「badapp.c」


 1 #include

 2 

 3 void f(void)

 4 {

 5  int* x = malloc(10 * sizeof(int));

 6  x[10] = 0;            // problem 1: heap block overrun

 7 }                         // problem 2: memory leak -- x not freed

 8 

 9 int main(void)

10 {

11  f();

12  return 0;

13 }


(2)


[15:20:06][15:20:06]==8399== Memcheck, a memory error detector

[15:20:06]==8399== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.

[15:20:06]==8399== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info

[15:20:06]==8399== Command: ./bad1pp1

[15:20:06]==8399== 

[15:20:07]connect fail. ip:10.167.13.207, strlen(ip):13. File:main.c, Line:696

[15:20:07]Internet Fail. File: main.c, Line: 2469

[15:20:08]==8399== Invalid write of size 4

[15:20:08]==8399==    at 0x8414: f (badapp1.c:6)

[15:20:08]==8399==    by 0x842F: main (badapp1.c:11)

[15:20:08]==8399==  Address 0x496f050 is 0 bytes after a block of size 40 alloc'd

[15:20:08]==8399==    at 0x483481C: malloc (in /opt/valgrind/lib/valgrind/vgpreload_memcheck-arm-linux.so)

[15:20:08]==8399== 

[15:20:08]==8399== 

[15:20:08]==8399== HEAP SUMMARY:

[15:20:08]==8399==     in use at exit: 40 bytes in 1 blocks

[15:20:08]==8399==   total heap usage: 1 allocs, 0 frees, 40 bytes allocated

[15:20:08]==8399== 

[15:20:08]==8399== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1

[15:20:08]==8399==    at 0x483481C: malloc (in /opt/valgrind/lib/valgrind/vgpreload_memcheck-arm-linux.so)

[15:20:08]==8399== 

[15:20:08]==8399== LEAK SUMMARY:

[15:20:08]==8399==    definitely lost: 40 bytes in 1 blocks

[15:20:08]==8399==    indirectly lost: 0 bytes in 0 blocks

[15:20:08]==8399==      possibly lost: 0 bytes in 0 blocks

[15:20:08]==8399==    still reachable: 0 bytes in 0 blocks

[15:20:08]==8399==         suppressed: 0 bytes in 0 blocks

[15:20:08]==8399== 

[15:20:08]==8399== For counts of detected and suppressed errors, rerun with: -v

[15:20:08]==8399== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 11 from 5)


3、Valgrind工作原理?


4、誰開發的Valgrind?


Julian Seward, from Cambridge, UK.


5、Valgrind的名稱來源


From Nordic mythology. Originally (before release) the project was named Heimdall, after the watchman of the Nordic gods. He could "see a hundred miles by day or night, hear the grass growing, see the wool growing on a sheep's back" (etc). This would have been a great name, but it was already taken by a security package "Heimdal".


Keeping with the Nordic theme, Valgrind was chosen. Valgrind is the name of the main entrance to Valhalla (the Hall of the Chosen Slain in Asgard). Over this entrance there resides a wolf and over it there is the head of a boar and on it perches a huge eagle, whose eyes can see to the far regions of the nine worlds. Only those judged worthy by the guardians are allowed to pass through Valgrind. All others are refused entrance.


It's not short for "value grinder", although that's not a bad guess.

關鍵字:ARM  Linux  Valgrind 引用地址:在ARM Linux 使用 Valgrind

上一篇:ARM系列 STM32F103RCT6 開發
下一篇:ARM S3C2410學習手記

推薦閱讀

中國 – 2018年1月12日 – 面向傳感器數據的機器學習與人工智能解決方案開發公司Qeexo與橫跨多重電子應用領域的全球領先的半導體供應商意法半導體 (STMicroelectronics,簡稱ST;紐約證券交易所代碼:STM),今天宣布一份共同推進原始設備廠商(OEM)集成Qeexo的FingerSense技術的合作協議。?全球已有1億多臺設備部署了Qeexo的能夠區分手指尖、指關...
腫瘤,是危害我們身體最可怕的惡魔之一。要想制服它,首先就是要準確地找到它,看它是怎么活動的,然后才能開展有針對性的治療。  自德國科學家倫琴發現X射線以來,人們發現可以通過很多的物理媒介來看到人體的各種器官和組織。于是百年來,X射線(X光CT)、伽馬射線(正電子發射斷層成像)、射頻波(磁共振成像)、超聲波(超聲成像)等各種技術快速發...
AT89C51共21個特殊功能寄存器,按其使用功能可分為5類:?CPU控制寄存器:ACC、B、PSW、SP、DPL、DPH;?中斷控制寄存器:IP、IE;?定時器/計數器:TMOD、TCON、TL0、TH0、TL1、TH1;?并行I/O口:P0、P1、P2、P3;?串行口控制:SCON、SBUF、PCON。程序狀態寄存器PSW位序號D7D6D5D4D3D2D1D0位符號CYACF0RS1RS0OV--P描 述進位借位、輔助進位用戶標志位工...
近日,據韓媒報道,多名業內人士透露,LG集團旗下子公司硅芯片有限公司(Silicon Works)日前宣布擴大其半導體業務,重點押注碳化硅PMIC以及MCU。據了解,硅芯片公司此前更常以其驅動IC產品被業界所熟知。此次大動作轉向碳化硅芯片領域,不僅透露了其對從LG集團分拆后的發展規劃,更是從側面印證了碳化硅正在成為汽車領域冉冉升起的新星。它為何這么搶手...

史海拾趣

問答坊 | AI 解惑

高價求購wince中顯示圖片的算法

高價求購wince中顯示圖片的算法,圖片為png和jpg,有意請聯系QQ:32757309,并注明,謝謝。…

查看全部問答∨

只讓一個聲道發聲的問題。(是想控制聲道不是音響)

我想通過聲卡的輸出頻率做控制。想做兩個控制輸出。左右聲道。比如我想只讓左聲道輸出信號。右聲道沒有信號如何做呢?…

查看全部問答∨

太陽能手機充電器的制作方法

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯 元器件選擇和安裝調試    VT1要求Icm>0.5A,hEF為50-100,可用2SC2500、2SC1008等,VD1為穩壓值為3V的穩壓二極管。    高頻變壓器T1要自制,用E16的鐵氧體磁 ...…

查看全部問答∨

Quartus 出問題,這樣居然不出錯

定義幾個reg,存儲幾個常數,但礙于“尋址”不方便,定義成存儲型寄存器reg [15:0]mem [8:0];之前沒用過這類型的,就沒多想用assign 給它們一一賦值,編譯發現錯誤,原來assign 只能給wire 型賦值。我試了一下這樣定義:wire [15:0]mem [8:0];仍然 ...…

查看全部問答∨

轉載:回憶漫漫選車路

07年開始創業,09年淘到第一桶金,入手第一輛屬于自己的車——奔騰B70,如今老七在我摩下奔騰一年有余,工作需要出個短差,周末帶一家老小逛公園,都少不了老七兢兢業業的身影,回想當初買車的時候跟很多車友一樣,糾結的不可終日,既想要商用家用 ...…

查看全部問答∨

上傳兩份學習EAGLE的中文資料!~

有興趣的同學可以下載下來看看,據說國外愛好這用這個的比較多,國內好像就聽說有幾家公司在用。…

查看全部問答∨

終于拿到試用的開發板,熟悉了下(1)

中午在學校拿到了板子很興奮。研究了下板子,oled使用的是15V的電壓;板上有一顆lattice生產的lc4032v可編程控制器作為開發板的功能控制器ftdi2232作為rs232轉usb接口芯片vp1050    can收發器插上usb,會出現一個小游戲,同時這個示 ...…

查看全部問答∨

異步電機變頻控制方案何時出,我想比較TIDSP他們到底區別有

                                 異步電機變頻控制方案何時出,我想參考與比較TI DSP他們到底區別有多大?主要考慮控制電機的性能了,誰有這方 ...…

查看全部問答∨

Borland C++3.1入門教程

Borland C++3.1入門教程 不錯的教程。…

查看全部問答∨

那位大神跳通LM3s 的safeRtos+socket api了。

這兩天在TI自帶操作系統SafeRtos上調lwip的socket  api程序,經常出錯。請教下大神,lwipopts文件設置以及socket API 需要注意的問題]! …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 怀柔区| 莱西市| 海南省| 治县。| 清涧县| 广南县| 金川县| 威海市| 普洱| 石楼县| 旌德县| 醴陵市| 额济纳旗| 红河县| 尚志市| 北碚区| 出国| 宣恩县| 静安区| 三原县| 绥棱县| 华池县| 高平市| 彝良县| 宁国市| 温州市| 龙游县| 沾化县| 阜阳市| 德庆县| 阳西县| 缙云县| 定西市| 烟台市| 尉氏县| 重庆市| 高青县| 于田县| 翁牛特旗| 昌宁县| 沙河市|