假设一个文件已编译并处于运行模式,它正在使用某个宏.有没有办法检查该文件正在使用的宏的值.
例如,如果文件包含
-define(TIMEOUT,200).
Run Code Online (Sandbox Code Playgroud)
从终端如何检查文件正在使用的TIMEOUT定义.
我想要的是因为假设文件处于运行模式并且我之间更改了宏定义而忘记编译文件.我想确认它正在采取什么样的定义.
即使在编译的最早阶段,宏也无法生存,因为预处理器会立即在源代码中替换它们.您将必须定义并导出单独的函数以查看其值,例如:
macro_values() ->
[{'TIMEOUT',?TIMEOUT},...].
Run Code Online (Sandbox Code Playgroud)
然后,您可以从shell调用此方法并获取已替换的值.