dissy -- 好用的 objdump 圖形前端工具

本课程尝试实现资讯人的梦想:使用自制编译器编译自创操作系统,并运行于自设计的CPU与硬件上。过程中涉及多种工具开发,特别是视觉化处理,以便学员快速掌握。介绍了一个优秀的图形前端工具dissy,它能帮助理解和分析ELF格式执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近利用閒暇的時間,準備新的系列課程,目標就是嘗試體驗 "Eat Our Own Dog Food",實現資訊人多少會有的浪漫夢想:用自己撰寫的編譯器,編譯自己設計的作業系統,跑在自己設計的 CPU 與硬體上。雖然自己恰好作過前述三者,不過要連貫起來,並改成系列的課程,仍是新挑戰。這過程要涉及到許多工具程式的開發,特別是視覺化的處理,才能讓學 員更快進入狀況,而 [dissy ] 就是個非常優秀的 objdump 圖形前端工具。

用 objdump / readelf,可窺探 ELF 格式執行檔案的許多細節,也能靜態分析,但往往得在大量的輸出打轉,著實不方便,[dissy ] 這個工具可帶來頗大的便利,直接看底下的執行時期的圖片吧:


上方視窗為 ELF 執行檔中的符號 (symbol) 列表,一旦點選進去後,會得到下方的兩個視窗:左側是反組譯的輸出 (含原始程式碼除錯訊息),右側是點選的機械碼指令的解釋。這也表示說,dissy 需要 non-stripped ELF 執行檔的輸入,否則無法符合預期的運作。另外,dissy 也能作簡單的流程分析,比方說上圖左下方的紅色箭頭,就表示有 branch (跳躍) 的動作,搭配原始程式碼的列表,一目了然編譯器與組譯器所進行的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值