2011-06-20 31 views
1

我在Solaris上使用dbx調試我的C程序,我希望能夠看到數據結構的內容。使用dbx轉儲結構

這是一個在作用域內的函數中的局部數據結構,因此鍵入「dump」會顯示一個指向該結構的指針。但是,我想查看其中的各個領域的內容。我怎樣才能做到這一點?

回答

2

通常'print'命令爲這類事情提供了最好的功能。 如果您的本地指針變量被稱爲「p」,則使用「print * p」。打印的參數可以是任何語言表達,例如「print p-> buf」或「print p-> buf [3]」

+0

。謝謝! –

1

假設您的結構指針變量名爲struct_ptr,這是行不通的嗎?

dump *struct_ptr 
+0

它的工作原理是兩種答案的混合。 如果你想要指針的地址,那麼「print my_struct」。 如果你想要一個成員的數據,然後「打印my_struct - >成員」。 如果你想轉儲整個結構的成員和地址的話,那麼當你知道如何的時候很容易「print * my_struct」 –