我正在嘗試學習匯編并且我正在使用 Ubuntu,我想查看使用 GDB 的標簽的值。問題是標簽是一個位元組大,我不能將它轉換為“p (byte)'label_name'”。如果我不告訴它標簽大小是多少,GDB 似乎不起作用。
uj5u.com熱心網友回復:
p (char)label_name為我作業。GDB 命令使用 C 型別名稱。(將其顯示為數字和它代表的 ASCII 字符char。C 沒有單獨的 8 位整數型別)。
C 沒有稱為 的型別byte,因此(byte)foo是錯誤的。
正如 Jester 所說,x /b &label_name可能是您想要檢查記憶體的內容,特別是如果您想查看從某個點開始的多個位元組。
在 GDB 中,help x將help p顯示如何使用它的詳細資訊。
有關的:
- 嘗試在匯編程式中列印變數時 GDB 顯示錯誤訊息
- GDB 中 ASM 標簽的地址- GDB 如何獲取用于除錯 C 程式的符號型別資訊。舊的 GDB 曾經默認為
int或其他東西,現在它的列印'x' has unknown type; cast it to its declared type就像你得到的一樣。 - 如何在 gdb 中列印 <incomplete type> 變數
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/519512.html
標籤:部件数据库
