2015-09-10 22 views
2

我嘗試使用lldb的LLVM調試器,但我很習慣gdb。所以,我正在尋找相當於gdb命令info framelldblldb的'信息框'相當於什麼?

我想顯示有關當前幀的信息與保存的寄存器的位置(保存的程序計數器和保存的基本指針)。例如,gdbinfo frame的命令顯示以下信息:

Stack level 0, frame at 0x7fffffffe090: 
rip = 0x4004ba in main (example.c:6); saved rip = 0x7ffff7a54b45 
source language c. 
Arglist at 0x7fffffffe080, args: 
Locals at 0x7fffffffe080, Previous frame's sp is 0x7fffffffe090 
Saved registers: 
    rbp at 0x7fffffffe080, rip at 0x7fffffffe088 

回答

3

沒有呈現在吹塑所有這些信息的命令。有些是很容易提供給你,比如:

(lldb) frame variable -L 

會告訴你ARGS &當地人的位置 - 儘管它會告訴你值也是如此。幀打印通常顯示pc和源信息,而reg read sp將顯示堆棧指針。或者您可以將fp & sp添加到您的常規幀格式(有關更多詳細信息,請參閱此page)。

有一個frame info命令,顯示當前幀的相當簡單的視圖。它當然可以擴展爲顯示更多的這些信息(可能在-v的標誌下)。請隨時提交lldb.llvm.org的bugzilla請求這個錯誤,或者如果你覺得有動力,可以自己加入並自行添加。

要寫出一個Python命令來收集所有這些信息並按照您的意願呈現並不難,如果您有點動機,但不足以啓動正確的lldb黑客攻擊。

+0

好吧,我懷疑沒有相應的東西,因爲我找不到任何東西,儘管我的搜索...感謝很多指針和提示,以獲得有關框架的更多信息。 – perror

相關問題