我有一个在cygwin中编译的应用程序。 exe会偶尔崩溃。如果从cygwin终端运行exe,则会创建stackdump文件。如果将exe与cygwin1.dll
一起复制到另一个文件夹并且exe崩溃,则不会创建stackdump文件。
我想创建一个stackdump文件,即使exe不是从cygwin终端运行的。
如何实现这一目标?
答案 0 :(得分:0)
从Windows或命令提示符启动cygwin可执行文件时,通常不会设置CYGWIN
环境变量。启动cygwin终端的快捷方式或批处理文件有时会设置此变量。可以通过此变量设置的其中一个选项确定应用程序崩溃时Windows调用的程序。 /bin/dumper.exe
程序生成所需的堆栈转储。
为了解决您的问题,我总是从控制面板,计算机属性,高级系统设置,环境变量,用户变量设置CYGWIN变量。 (Win7 - YMMV)。例如。 CYGWIN=error_start=d:\cygwin64\bin\dumper.exe
有关详细信息,请参阅The CYGWIN Environment variable。