2012-03-21 79 views
0

有沒有一種方法,也許使用納米,或GDB,這將讓我創造所有的可執行文件包含對象類型的列表中的所有對象(類對象/結構)?如何找到一個C++可執行

爲了澄清,我源代碼。我需要一種方法來計算出運行時使用的所有類/結構大小。所以這可能是一個兩個部分的問題:

  1. 建立在每個列表上的項目的所有類/結構
  2. 使用sizeof()的列表,在gdb。
+0

除非你用了類構造函數符號信息聯繫在一起,這是幾乎不可能得到正確的 – Necrolis 2012-03-21 09:51:00

+0

'納米-C exe_name'將列出源碼形式的所有符號,假設可執行文件與調試信息建 – ks1322 2012-03-21 10:09:12

回答

2

http://www.hex-rays.com/products/ida/index.shtml:反編譯的C++

,除非你在調試信息編譯你通常不會得到很好的C++了二進制的。準備花大量的手工勞動來逆轉代碼。

如果沒有剝離的二進制文件有一些希望作爲IDA Pro可以產生C-一樣代碼你一起工作。

9

「類型」都沒有的機器代碼的屬性。他們是一個高層次的,抽象的語言,這是編譯成機器代碼的屬性。除非編譯器爲您恢復關於源程序的信息做出了具體的安排,否則類型信息通常根本不存在。