如何使用 CSpyBat 的系统环境变量

How can I use a system environment variable with CSpyBat

我使用 C-SPY 宏进行自动化测试。为此,我加载了一个启动宏文件,它使用以下代码加载了其他宏文件:

execUserSetup()
{
  __registerMacroFile("$_ENVVAR_$\macros-1.mac");
  __registerMacroFile("$_ENVVAR_$\macros-2.mac");
  ...
}

当我从 IAR Embedded Workbench.

中 运行 启动宏时,这就像一个魅力

但我真正想做的是 运行使用 CSpyBat.exe 进行测试。在那里我使用选项 --macro startup.mac 指定我的 startup.mac。

macros-1.mac等文件就找不到了。相反,我收到宏文件的错误消息(垃圾文件名,见下文):

ERROR: Could not open macro file: @۸0ٸ`ٸ@2@u

如果我使用没有环境变量的路径名,一切都很好。

我做错了什么?

答案是:workbench支持扩展环境或项目变量,CSpyBat不支持。所以告诉我IAR支持。他们还给了我以下指示:

参见 'C-SPY Debugging Guide' - "Using C-SPY in batch mode"、"INVOCATION SYNTAX",第 492 页:

Note: In those cases where a filename is required—including the DLL files—you are recommended to give a full path to the filename.