2009-07-08 59 views

回答

3

C不支持任何開箱即用的反射。此外,在編譯爲機器代碼後,類型不再存在(與某些更高級別的語言不同),這並不難。您需要構建帶有所有符號和調試信息的可執行文件,然後使用一些調試工具或庫來檢索這些數據。

我想只使用一個已建立的調試器,如Visual Studio Debugger或gdb就簡單多了。

+0

非常感謝您的解釋。我想我會給Visual Studio調試器一個旋風,因爲我對gdb不太熟悉 - 嘗試儘早使用它調試代碼,雖然沒有成功。 – freakwincy 2009-07-09 06:25:38

2

簡答題:沒有。

長答案:當你的程序被編譯和鏈接時,所有的信息都被扔掉了。 C(和C++)沒有反射,所以這些信息都不能在運行時恢復。有趣的答案:因爲你在Windows上,所以你可以用調試信息(即PDB文件)和DbgHelp API來做各種事情。

+0

感謝羅傑的澄清。我實際上正在使用的代碼是RIPE WHOIS服務器的修改版本,儘管我在Windows上,但我的大部分工作實際上都是通過Linux(通過SSH)完成的。也許我會嘗試在本地構建源代碼並查看是否可以在Visual Studio Express中以調試模式運行代碼。 – freakwincy 2009-07-09 06:21:13

相關問題