我正在开发一个项目,我需要跟踪任何给定应用程序代码中特定变量集的更改,以模拟内存访问模式。
我主要想到两种方法,请对它们进行思考。
要实现,我只能想到某种源到源编译器,它解析给定代码并将检测代码(相同语言源代码编译器)注入到应用程序中,以后我可以编译并运行以获取所需的代码日志。
这看起来是对的还是我过度工程?如果没有,是否有工具可以让我(相对)轻松地构建源 - 源编译器?
并且,应用程序的语言将是nesC(我猜nesC在编译过程中转换为C)(并且应用程序将在TOSSIM上运行,就像我的计算机上的本机应用程序一样)。
答案 0 :(得分:2)
参见my paper on instrumenting codes using a program transformation systems (PTS)(PTS是一种非常通用的“源到源编译器”。
它展示了如何在感兴趣的语言中使用语法,以非常简单的方式在代码中安装探针。底层工具DMS可以很容易地定义语法。