2

我在从 Jenkins Windows 批处理插件构建 IAR 项目时遇到问题。然而,相同的命令直接从内置命令提示符的相同机器上运行得很好。

构建命令:“C:\Program Files\IAR Systems\Embedded Workbench 6.4\common\bin\iarbuild”protective\iar_project\cpup_project.ewp -build Debug -log all

从 Jenkins 构建时,会发生以下错误:

致命错误[c0000142]:不受控制的终止

运行 C/C++ 编译器时出错

相同的版本,即完全相同的版本,以前也曾在 Jenkins 上工作过。没有对 Jenkins 进行任何额外的升级。

系统:Windows XP

詹金斯版本:1.466.1

有谁知道这是什么原因造成的?

我该如何纠正?

4

2 回答 2

1

我在 xp 机器上从 jenkins 运行 iarbulid 时遇到了类似的问题。我观察到 iarbuild 失败并显示相同的错误消息。

基于对术语 c0000142 的搜索(例如CreateProcess 成功,但 GetExitCodeProcess 返回 C0000142),以及我自己对 procmon 的观察,我认为这与 iccarm 引用 user32.dll 有关,可能是不必要的,这似乎在服务。但是,通过将 jenkins 服务更改为以用户身份登录,问题似乎就消失了。

有趣的是,在此更改之前,iccarm 有时会失败,有时会成功。我的构建由对 iarbuild 的多次调用组成,以生成库依赖项,然后调用构建我的应用程序。库构建总是会成功,但最终的应用程序构建通常会因上述错误而失败。但是,我还没有深入了解这种差异。

于 2013-04-05T03:36:42.760 回答
0

问题解决了。

我有一个额外的网络服务器在同一台机器上运行一个 wiki,当我停止这个服务(Apache)时,IAR 构建再次工作!

我真的不知道 Jenkins 中的 windows 批处理命令和 Apache 网络服务器之间可能存在什么冲突。Jenkins 和网络服务器运行在完全不同的端口上。

于 2012-09-10T08:53:10.290 回答