2012-10-19 37 views
2

我正在開發一個項目,我需要跟蹤對任何給定應用程序代碼中特定變量集的更改以對內存訪問模式進行建模。添加源代碼工具代碼 - 源代碼編譯器是否正確?如何建立一個?

我主要可以想到兩種方法,請給出你的想法。

  1. 我最初的想法是做像許多剖析像gprof的會做,在這裏我的目標應用程序代碼中添加儀器代碼編譯前和分析這個儀器代碼生成的需要獲取信息的日誌。爲了實現,我只能想到某種源代碼到源代碼的編譯器,它在其中解析給定的代碼並將工具代碼(同源語言源代碼編譯器)注入到應用程序中,稍後我可以編譯並運行它獲取所需的日誌。

    這看起來合適嗎?還是我過度設計?如果沒有,是否有工具可以讓我輕鬆地構建源代碼編譯器(相對)?我讀了關於GDB對python的支持,所以,我想如果我可以編寫一個python腳本來獲取一組變量作爲配置文件,並設置觀察點和日誌每次有一個寫入正在監視的變量。我試圖使用這個GDB功能,但在我的Ubuntu機器上,它現在似乎沒有工作。 http://sourceware.org/gdb/onlinedocs/gdb/Python.html#Python

而且,應用程序的語言將是nesC的(我猜nesC的是在編譯的過程轉化爲C)(和應用程序會像我的電腦上的本地應用上TOSSIM運行)。

回答