07GDB查看變量類型


1. whatis查看類型:
a. 查看變量類型:eg: whatis one_person
b. 查看函數定義:eg: whatis func_name,如果有多個同名的函數,那么只能看到一個
c. 查看某個類的函數定義:whatis Person::app1,查看的是對象成員,而不是類成員,可以使用對象的方式來查看: whatis current_person.app1

2. ptype查看類型的詳細信息:
a. ptype 變量;
b. ptype /m 變量,只顯示屬性,不顯示方法
c. ptype /o 變量/類:查看對象屬性的字節占用偏移。

d. 有繼承關系,且父類有虛函數的的時候,開啟開關: set print object on,然后再使用ptype,可以查看到真實的類型

 

另外:

1. 如果一個類對對象中包含了虛函數,那么這個對象會額外增加8個字節開銷,來存儲虛函數表和虛繼承表

2. 如果一個類中有char*或者char[]時候,在使用GDBp命令查看類的對象的時候,都是可以將char*或者char[]中的內容直接顯示出來的。

3. 在GDB的p命令查看類的對象的時候,即便是是類的私有屬性,也是可以直接顯示出來的,如下圖所示

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM