2011-05-29 44 views
1

MySQL的具有下面的代碼:
表 - >文件 - > ha_write_row(表 - >記錄[0]))如何在eclipse中使用watch窗口添加表達式來查看一系列內存?

其中表 - >記錄[0]是一個緩衝區,其大小由另一個變量確定reclength。現在我知道reclength,看到它是203.我想看看值(表 - >記錄[0])[0..202],這意味着從第一個字節到最後一個字節。如果我只是把(table-> record [0])放在手錶中,它只會顯示幾個字符,因爲table-> record [0]中有很多個0,也就是說它可能像「xxx \\ 0 \\ 0 \ \ 0yyy ...「,在這種情況下,eclipse只在監視窗口中顯示」xxx「,因爲它認爲」xxx \ 0「是由」\\ 0「終止的完整字符串,但實際上我希望看​​到更多的緩衝區值。所以我在表中使用了(table-> record [0])[i],我是0,1,2 ..,但這很無聊,有沒有什麼好方法可以看到他們?

回答

3

使用gdb語法用於打印數組值,對於數組,其第一元件由指針p指向,使用:

[email protected] 

要查看第一100個元素。在你的情況,編輯您的監視表達式(左擊 - >Edit Watch Expression)到:

table->[email protected] 

你沒有提到的table->record類型---我假設其持有的指針(而不是指針到-指針)。

順便說一句,你可以將指針轉換爲任何數據類型,就像在gdb控制檯中一樣。

相關問題