【ARM 嵌入式 編譯系列 10.2 -- 符號表與可執行程序分離詳細講解】

文章目錄

    • 符號表與可執行程序分離
      • 方法一 使用eu-strip
      • 方法二 使用 objcopy

上篇文章:ARM 嵌入式 編譯系列 10.1 – GCC 編譯縮減可執行文件 elf 文件大小
下篇文章:ARM 嵌入式 編譯系列 10.3 – GNU elfutils 工具小結

符號表與可執行程序分離

接著上篇文章 ARM 嵌入式 編譯系列 10.1 – GCC 編譯縮減可執行文件 elf 文件大小 介紹,在前兩篇文章中我們去掉了 可執行文件 test 中的很多內容,節省了大量的空間。由于我們把符號表也移除了,發生了coredump 我們通過gdb 工具也無法調試了。

Q: 那么我們是否可以把符號表信息保留,需要用符號表的時候在將符號表的信息導入
A:可以。

方法一 使用eu-strip

eu-strip 可以把文件的符號表保存起來,需要用的時候,導入需要的符號表就能調試 coredump文件了。

  1. 生成 release 版本的 test:
gcc -o test test.c
  1. 然后用 eu-strip 生成符號表:
eu-strip test -f test.sym

使用 eu-strip 生成的test.sym 后,可執行文件 test 中會多出多一個.gnu_deubg_link section,用來記錄符號表的位置。

:~/temp$ readelf -S test
There are 30 section headers, starting at offset 0x3168:
...[25] .data             PROGBITS         0000000000004000  000030000000000000000010  0000000000000000  WA       0     0     8[26

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36769.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決Idea 多模塊,maven項目是多層級文件夾的子項時無法加入git管理的問題

問題 多模塊項目,引入模塊無法做git管理,第一個項目沒有git分支標志,也不能像其他項目一樣右鍵出git選項。 解決方法 發現該模塊是多層級的文件夾結構,也就是項目本身在一個文件夾下。應該是要管理該文件夾。 Settings-Versi…

el-select控制單選還是多選

multiple表示多選&#xff0c;:multiple-limit“1” 限制多選的條數為1&#xff0c;2就是選兩個&#xff0c;依此類推。為0 就是不限制選幾個 使用 allow-create 屬性即可通過在輸入框中輸入文字來創建新的條目。注意此時 filterable 必須為真。 <el-form :inline"true…

【劍指 Offer 40】最小的k個數

題目&#xff1a; 輸入整數數組 arr &#xff0c;找出其中最小的 k 個數。例如&#xff0c;輸入 4、5、1、6、2、7、3、8 這 8 個數字&#xff0c;則最小的 4 個數字是 1、2、3、4。 示例&#xff1a; 輸入&#xff1a;arr [3,2,1], k 2 輸出&#xff1a;[1,2] 或者 [2,1] …

阿里云云主機_ECS云服務器_輕量_GPU_虛擬主機詳解

阿里云云主機分為云虛擬主機、云服務器ECS、輕量應用服務器、GPU云服務器、彈性裸金屬服務器、專有宿主機、FPGA云服務器、高性能計算E-HPC、無影云電腦等&#xff0c;阿里云百科來詳細說下阿里云云主機詳解&#xff1a; 目錄 阿里云云主機 云服務器ECS 輕量應用服務器 云…

我學會這些車載技術,是不是就可以進【小米】車企?

作者&#xff1a;阿刁 隨著智能化和電動化的發展&#xff0c;車載開發領域的前景非常廣闊。許多手機廠商也紛紛加入進來&#xff0c;華為、小米等手機巨頭也相繼推出新能源汽車。所以在未來&#xff0c;車載系統將成為汽車的核心部分&#xff0c;涵蓋車輛的控制、信息娛樂、智能…

安裝paddleSeq2.7.0版本模塊-筆記

安裝paddleSeq2.7.0版本模塊-筆記 先安裝conda和python版本 本機安裝的conda 22.9.0 python2.9.12 paddle2.4.2 paddlepaddle-gpu2.4.2 cuda10.2 安裝matplotlib3.5.0版本 opencv_python-4.5.4.60-cp39-cp39-win_amd64.whl 測試采用分割模型名稱&#xff1a;BiSeNetv2 #BiSe…

Oracle 開發篇+Java調用OJDBC訪問Oracle數據庫

標簽&#xff1a;JAVA語言、Oracle數據庫、Java訪問Oracle數據庫釋義&#xff1a;OJDBC是Oracle公司提供的Java數據庫連接驅動程序 ★ 實驗環境 ※ Oracle 19c ※ OJDBC8 ※ JDK 8 ★ Java代碼案例 package PAC_001; import java.sql.Connection; import java.sql.ResultSet…

背上花里胡哨的書包準備面試之webpack篇(+一些常問的面試題)

目錄 webpack理解&#xff1f; webpack構建流程&#xff1f; loader解決什么問題&#xff1f; plugin解決什么問題&#xff1f; 編寫loader和plugin的思路&#xff1f; webpack熱更新&#xff1f; 如何提高webpack的構建速度&#xff1f; 問git常用命令&#xff1f; ht…

【TensorFlow】P0 Windows GPU 安裝 TensorFlow、CUDA Toolkit、cuDNN

Windows 安裝 TensorFlow、CUDA Toolkit、cuDNN 整體流程概述TensorFlow 與 CUDA ToolkitTensorFlow 是一個基于數據流圖的深度學習框架CUDA 充分利用 NIVIDIA GPU 的計算能力CUDA Toolkit cuDNN 安裝詳細流程整理流程一&#xff1a;安裝 CUDA Toolkit步驟一&#xff1a;獲取CU…

XML 數據傳輸格式

目錄 XML簡介 一、初識XML 1.什么是 XML&#xff1f; 2.XML 和 HTML 之間的差異 3.XML 不會做任何事情 4.通過 XML 您可以發明自己的標簽 5.XML 不是對 HTML 的替代 二、XML 用途 1.XML 把數據從 HTML 分離 2.XML 簡化數據共享 3.XML 簡化數據傳輸 三、XML 樹結構 1.一個 XML 文…

QML HTTP 請求

作者: 一去、二三里 個人微信號: iwaleon 微信公眾號: 高效程序員 在 Web 開發中,實現與服務器的通信至關重要,其中 HTTP 便是最常用的方式之一。它是一種客戶端 - 服務器協議,客戶端向服務器發送請求,服務器則返回響應。常被用于在瀏覽器/客戶端和 Web 服務器之間傳輸消…

mysql執行計劃—— explain

使用explain關鍵字可以直觀的查看一條SQL語句的執行計劃&#xff0c;可以幫助我們選擇合適的索引和優化SQL語句&#xff0c;查詢結構總共有12列。下面列舉幾種需要重點掌握的&#xff1a; 1.id select的標識符&#xff0c;id越大&#xff0c;表示優先級越高&#xff0c;越先執…

VB+SQL酒店客房管理設計與實現

摘要 二十一世紀是信息技術的時代,計算機已經應用到了各行各業中。采用計算機信息管理技術,可以有效的降低企業的管理成本,提高企業內部的工作效率。 本文從天天賓館客房客房管理的一般流程出發,設計了一套天天賓館客房管理信息系統,它可以管理天天賓館客房中所有的客房的…

1. 如何爬取自己的CSDN博客文章列表(獲取列表)(博客列表)(手動+python代碼方式)

文章目錄 寫在最前步驟打開chrome瀏覽器&#xff0c;登錄網頁按pagedown一直往下刷呀刷呀刷&#xff0c;直到把自己所有的博文刷出來然后我們按F12&#xff0c;點擊選取元素按鈕然后隨便點一篇博文&#xff0c;產生如下所示代碼然后往上翻&#xff0c;找到頭&#xff0c;復制然…

1.2 操作系統原理和常見命令

操作系統原理和常見命令 文章目錄 操作系統原理和常見命令操作系統原理操作系統的概述進程管理內存管理文件系統設備管理安全性操作系統的角色 操作系統中的常見命令和操作 操作系統原理 操作系統的概述&#xff1a; 定義&#xff1a;操作系統是控制和管理計算機硬件與軟件資源…

Java-類型和變量(基于C語言的補充)

一個簡單的Java程序 args){ System.out.println("Hello,world"); } }通過上述代碼&#xff0c;我們可以看到一個完整的Java程序的結構&#xff0c;Java程序的結構由如下三個部分組成&#xff1a; 1.源文件&#xff08;擴展名為*.java)&#xff1a;源文件帶有類的定義…

ios消息推送例子

通過Apple推送服務&#xff0c;將消息發送給特定的ios客戶端&#xff0c;這是服務器端實例代碼。需要客戶端的voip key值&#xff0c;以及相應的客戶端回調接口&#xff0c;支持ios9.0以上版本。 下載地址&#xff1a;https://download.csdn.net/download/m0_37567738/8821559…

[保研/考研機試] KY7 質因數的個數 清華大學復試上機題 C++實現

描述 求正整數N(N>1)的質因數的個數。 相同的質因數需要重復計算。如1202*2*2*3*5&#xff0c;共有5個質因數。 輸入描述&#xff1a; 可能有多組測試數據&#xff0c;每組測試數據的輸入是一個正整數N&#xff0c;(1<N<10^9)。 輸出描述&#xff1a; 對于每組數…

leetcode 6914. 翻倍以鏈表形式表示的數字

給你一個 非空 鏈表的頭節點 head &#xff0c;表示一個不含前導零的非負數整數。 將鏈表 翻倍 后&#xff0c;返回頭節點 head 。 示例 1&#xff1a; 輸入&#xff1a;head [1,8,9] 輸出&#xff1a;[3,7,8] 解釋&#xff1a;上圖中給出的鏈表&#xff0c;表示數字 189 。返…

Photoshop快捷鍵大全

Photoshop是一款非常強大的圖像處理軟件&#xff0c;它提供了許多快捷鍵&#xff0c;可以幫助用戶更快地完成操作。熟練掌握這些快捷鍵&#xff0c;可以大大提高工作效率&#xff0c;讓您更加專注于創作。 Photoshop快捷鍵匯總&#xff1a; 一、基本操作快捷鍵 1. 新建文檔…