色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用addr2line去debug

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-30 10:20 ? 次閱讀

Linux 下寫 C/C++ 程序的程序員,時常與 Core Dump 相見。在內存越界訪問,收到不能處理的信號,除零等錯誤出現時,我們精心或不精心寫就的程序就直接一命嗚呼了,Core Dump 是 Linux 仁慈地留下的程序的尸體,幫助程序員們解決了一個又一個問題。

有時配置不給力,Linux 直接毀尸滅跡,沒有了 Core 文件;又有時,剛好磁盤空間不足,Core文件寫不下了。沒有 Core 文件的時候,如何知道程序在什么地方出錯了呢?addr2line 就在這時派上用場。

這是一個示例程序,func 函數返回參數 a 除以參數 b 的結果。這里使用 0 作為除數,結果就是程序因為除以 0 導致錯誤,直接中斷了。

test.c

#include < stdio.h >
 
int func(int a, int b)
{
  return a / b;
}
 
int main()
{
  int x = 10;
  int y = 0;
  printf("%d / %d = %dn", x, y, func(x, y));
  return 0;
}

編譯:-o 指定輸出文件名,-g 會有調試信息

gcc -o test -g test.c

執行

./test

提示執行錯誤

圖片

輸入 dmesg 命令,查看 log,提示如下:

traps: test[2184] trap divide error ip:400534 sp:7ffee5779a90 error:0 in test[400000+1000]

ip 字段后面的數字就是 test 程序出錯時所程序執行的位置。使用 addr2line 就可以 將 400534 地址轉換出對應的文件及行數

圖片

可知,程序在執行到 test.c 文件第五行的時候,執行出錯,我們檢查第五行代碼。

return a / b;

這里除 0 肯定是不行的,addr2line 幫助我們找到了錯誤位置。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5089

    文章

    19167

    瀏覽量

    306711
  • 內存
    +關注

    關注

    8

    文章

    3043

    瀏覽量

    74197
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62301
  • DEBUG
    +關注

    關注

    3

    文章

    94

    瀏覽量

    19950
收藏 人收藏

    評論

    相關推薦

    在wsl2中安裝的idf,在monitor時會報錯的原因?

    的 target 均配置正確 但是好像調用了 esp32 的addr2line工具,不想重新安裝idf了,求解,ballball大佬們
    發表于 06-17 07:30

    藍牙模塊HC-05中linelen=get_line(linebuff,redata+getlen+2*linenum,len);為什么linenum要*2

    linelen = get_line(linebuff,redata+getlen+2*linenum,len);這句語句linenum為什么要*2/*** @brief掃描周邊的藍牙設備,并存儲到
    發表于 04-24 06:35

    如何在開發板子上安裝addr2line工具?

    由于軟件在開發板上會有些難以復現的閃退類型bug需要借助addr2line 解析錯誤,打印函數堆棧,需要用到這個工具。目前的Ubuntu里邊有arm的交叉編譯工具,在linux下是可以的,但是在
    發表于 01-07 07:08

    C語言在ARM中函數調用時棧變化的過程

    為什么會寫篇棧變化的文章?做系統分析的話你肯定遇到過一些crash, oops等棘手問題,一般大家都會用 gdb, objdump 或者 addr2line等工具分析 pc 位置來定位出錯...
    發表于 02-14 07:02

    一步步介紹CmBacktrace的相關知識和使用方法

    繁雜的故障寄存器;輸出錯誤現場的函數調用棧 (需配合 addr2line 工具進行精確定位),還原發生錯誤時的現場信息,定位問題代碼位置、邏輯更加快捷、精準。也可以在正常狀態下使用該庫,獲取當前的函數
    發表于 10-26 15:44

    在wsl2中安裝的idf,在monitor報錯的原因?如何解決?

    均配置正確 但是好像調用了 esp32 的addr2line工具,不想重新安裝idf了,求解,ballball大佬們
    發表于 02-14 07:56

    當On Line Debug時,會無緣無故的離線是為什么?

    當我On Line Debug 時 ,會無緣無故的離線。 當時我的目標板有連接主電源。 例如 24BLDC 板。低速都OK 操過某一個速度,就直接離線。 有階主電源時也無法下載程式或Debug?
    發表于 09-06 08:02

    何用2SC2539替換2SC1971

    何用2SC2539替換2SC1971
    發表于 12-22 11:40 ?3188次閱讀

    NCV8402ADDR2G雙路MOS管的特性及應用

    提及“雙路場效應管NCV8402ADDR2G”,作為業內人士,定不覺得陌生。NCV8402ADDR2G這個物料,帶短路、過熱保護的雙路MOS管,出自國際品牌ON(安森美)。NCV8402ADDR2
    發表于 08-09 17:17 ?3058次閱讀

    何用示波器測量脈沖信號呢

    何用示波器測量脈沖信號以及測量脈沖信號對示波器有什么要求。
    的頭像 發表于 10-04 08:49 ?1.6w次閱讀

    C語言在ARM中函數調用時,棧是如何變化的?

    為什么會寫篇棧變化的文章?做系統分析的話你肯定遇到過一些crash, oops等棘手問題,一般大家都會用 gdb, objdump 或者 addr2line等工具分析 pc 位置來定位出錯...
    發表于 12-09 10:36 ?8次下載
    C語言在ARM中函數調用時,棧是如何變化的?

    NCV8402ADDR2G,原裝正品,價格美麗

    提及“雙路場效應管NCV8402ADDR2G”,作為業內人士,定不覺得陌生。NCV8402ADDR2G這個料號,帶短路、過熱保護的雙路MOS管,出自國際品牌ON(安森美)。NCV8402ADDR2
    的頭像 發表于 11-12 11:55 ?953次閱讀
    NCV8402<b class='flag-5'>ADDR2</b>G,原裝正品,價格美麗

    Linux中addr2line用法介紹

    addr2line 用法 -a --addresses:在函數名、文件和行號信息之前,顯示地址,以十六進制形式。 -b --target=:指定目標文件的格式為bfdname。 -e --exe
    的頭像 發表于 07-30 10:20 ?1249次閱讀

    linux下調試core dump的方法

    ,了解系統的啟動信息,可以獲得出錯堆棧地址。 addr2line ,可以將指令的地址和可執行映像轉換成文件名,函數名或源代碼的工具。這種功能將跟蹤地址轉換成更有意義的內容來說很有用。 在調用
    的頭像 發表于 10-08 16:13 ?663次閱讀

    RVBacktrace RISC-V極簡棧回溯組件

    RVBacktrace組件簡介一個極簡的RISC-V?;厮萁M件。功能在需要的地方調用組件提供的唯一API,開始當前環境的棧回溯支持輸出addr2line需要的命令,使用addr2line進行?;厮葜С纸Y合反匯編,?;厮菪畔D表化TODOList:支持打印
    的頭像 發表于 09-15 08:12 ?437次閱讀
    RVBacktrace RISC-V極簡?;厮萁M件
    主站蜘蛛池模板: 亚洲精品久久久无码一区二区| 亚洲乱码中文字幕久久| 亚洲免费无码中文在线| 国产人妻XXXX精品HD电影| 十分钟免费看完整视频| 国产AV国片精品无套内谢无码| 三级黃60分钟| 国产成人免费高清激情视频| 日本三级黄色大片| 久啪久久全部视频在线| 亚洲精品97福利在线| 国产偷国产偷亚洲高清人乐享| 四虎永久在线精品国产| 国产精品一区二区三区免费| 侮辱丰满美丽的人妻| 国产一区私人高清影院| 亚洲色视在线观看视频| 久久精品视频16| 97精品国产自产在线观看永久| 美女强奷到抽搐在线播放| 992交通广播| 日本色呦呦| 国产人成高清在线视频99| 野花韩国在线观看| 麻豆第一区MV免费观看网站| black大战chinese周晓琳| 日韩欧美精品有码在线播放| 国产久久亚洲美女久久| 野草视频在线观看| 免费在线视频一区| 国产成人免费在线| 亚洲欧美日韩国产精品26u| 久久麻豆国产国产AV| 99日影院在线播放| 小妇人电影免费完整观看2021| 寂寞护士中文字幕 mp4| 91久久精品国产亚洲| 视频成人永久免费视频| 精品久久久爽爽久久久AV| 607080老太太AW| 色欲午夜无码久久久久久|