2016-07-06 45 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