问题描述
我想将文件名和行号打印到日志文件中,类似于 __FILE__
和 __LINE__
是 SV。
- 有可能吗?
- 我可以像 SV 中的
stack()
那样打印堆栈吗?
谢谢!
解决方法
在e 中,没有用于访问模块名称或行号的“通用”语法,但存在可以在 define as
宏中使用的语法。
例如,您可以像这样定义一个宏,以打印一个表达式以及当前行和模块名称:
define <my'action> "out_with_line_number <exp>" as {
out("<current_line_num> @<current_module_name>: ",<exp>);
};
关于第二个问题,存在一个预定义的全局方法print_stack_trace()
。