如果未从cygwin终端运行exe,则不会创建stackdump

问题描述:

我有一个在cygwin中编译的应用程序。 exe暂时崩溃。如果从cygwin终端运行exe,则会创建一个堆栈转储文件。如果exe被复制到cygwin1.dll以及exe崩溃的另一个文件夹中,则不会创建堆栈转储文件。如果未从cygwin终端运行exe,则不会创建stackdump

我想要创建一个堆栈转储文件,即使这个exe不是从cygwin终端运行。

这是如何实现的?

当您从Windows或命令提示符启动cygwin可执行文件时,通常不会设置CYGWIN环境变量。启动cygwin终端的快捷方式或批处理文件有时会设置此变量。其中一个可由此变量设置的选项决定了应用程序崩溃时由Windows调用的程序。 /bin/dumper.exe程序会生成所需的堆栈转储。

要解决你的问题,我总是从控制面板,计算机性能的CYGWIN变量,先进的系统设置,环境变量,用户变量。 (Win7 - YMMV)。例如。 CYGWIN=error_start=d:\cygwin64\bin\dumper.exe

更多信息请参见The CYGWIN Environment variable