簡體   English   中英

Mach-O文件LC_FUNCTION_STARTS加載命令

[英]Mach-O file LC_FUNCTION_STARTS load command

有誰知道Mach-O LC_FUNCTION_STARTS命令指向的數據格式是什么?

我能找到的最多信息是在loader.h頭文件中:

#define LC_FUNCTION_STARTS 0x26 /* compressed table of function start addresses */

我看到dyldinfo工具有一個-function_starts選項來分析這些數據並且該工具是開源的,但該工具的最新發布版本不包含支持:

http://opensource.apple.com/source/ld64/ld64-97.2/src/other/dyldinfo.cpp

有誰知道我在哪里可以獲得最新版本的dyldinfo的源代碼,或者我可以獲得有關此加載命令的更多信息?

謝謝!

它由需要在崩潰日志,樣本,spindump等中表示地址的工具使用,以確定給定地址是否屬於函數內部。 它對調試器也很有用,可以幫助他們更快地找到給定地址所在函數的邊界。

此部分中的數據被格式化為DWARF樣式ULEB128值的零終止序列。 第一個值是從__TEXT段開始到第一個函數開始的偏移量。 其余值是下一個函數開始的偏移量。

由於我在幾天內沒有得到任何額外的答案或評論,我想我也可以自己回答這個問題。 解決方案基本上就是我在上面的評論中提出的:

最新版本的dyldinfo位於:

http://opensource.apple.com/source/ld64/ld64-127.2/src/other/dyldinfo.cpp

但是我仍然沒有弄清楚函數的確切用途是什么,如果有人有信息,我仍然會欣賞它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM