2016-07-06 46 views
1
(gdb) p/d &(((pcm_pkt_t*)0)->rx_timestamp) 
$12 = 236 

它實際上打印了什麼?它是否打印rx_timestamp的大小或其值? 這是來自netbsd內核的離線分析。gdb中的打印結構元素

+0

這實際上並不是一個關於NetBSD的問題 - 這是一個關於GDB的問題(有些關於C)。 –

回答

4

在這裏,您可以獲得位於地址0(((pcm_pkt_t*)0))的結構成員的地址。所以你有這個成員的偏移裏面的結構(成員偏移量是成員的地址 - 這裏的結構的起始地址是0)。

+0

是否可以對downvote進行解釋? – blatinox

+0

值得一提的是,這是C宏'offsetof'的經典實現(當然,將其轉換爲'size_t')。 – rodrigo