+ -
当前位置:首页 → 问答吧 → cygwin环境下调用make出现Interrupt/Exception caught错误

cygwin环境下调用make出现Interrupt/Exception caught错误

时间:2008-07-01

来源:互联网

我在windows XP上使用Wind River的workbench做vxworks的相关开发,其VxWorks Development Shell终端环境感觉像是一个cygwin,可以使用一些cygwin的linux命令,我参照了workbench的一些bash系统脚本,一般为了方便,workbench会对相应的*.sh脚本再封装一层*.bat的dos批处理脚本,从而在执行命令时,只需敲入命令本身,而无需sh xxx.sh的执行方式,这样的确比较方便。具体形式如下:
######### begin of Example.sh ##########
#!/bin/sh
  make
  .......
######### end of Example.sh #####

rem ######## begin of Example.bat ######
@echo off
SET PATH=%PWD%;%PATH%
call sh.exe Example.sh %1 %2 %3 
rem ######## end of Example.bat ######

可是,实践中发现,这种方式一般是不会出现问题的,但是*.sh脚本中一旦有调用make时,就会出现错误。
C:\WindRiver\vxworks-6.1\host\x86-win32\bin\make.EXE: Interrupt/Exception caught (code = 0xc0000005, addr = 0x41a78f)
请高手赐教,感激不尽!

作者: hgy1234   发布时间: 2008-07-01

直接执行make有问题吗?

作者: fierygnu   发布时间: 2008-07-02

直接执行make没有问题。

google一下,说是什么sh调用make时,就会创建一个进程,然后子进程继承父进程的标准输出文件句柄后,make使用这个校准输出会出错之类的,我也不是太明白怎么回事儿,还说要用windows CMD的老的方式才可以解决,可是我试了一下,还是不行。

作者: hgy1234   发布时间: 2008-07-03

风河提供的很多版本的make.exe是有问题。你从MinGW里搞一个make.exe试试能不能用。

作者: fierygnu   发布时间: 2008-07-03

顶起,希望能和楼主交流

作者: eureka007   发布时间: 2011-08-10