2017-06-06 3 views
0

J'ai une application qui est compilée dans cygwin. L'exe se bloque de temps en temps. Si exe est exécuté à partir du terminal cygwin, un fichier stackdump est créé. Si exe est copié dans un autre dossier avec cygwin1.dll et les plantages exe, aucun fichier stackdump n'est créé.stackdump n'est pas créé si exe n'est pas exécuté à partir du terminal cygwin

Je veux qu'un fichier stackdump soit créé même si l'exe n'est pas exécuté depuis le terminal cygwin.

Comment cela peut-il être réalisé?

Répondre

0

Lorsque vous démarrez un exécutable cygwin à partir de Windows ou à partir d'une invite de commande, la variable d'environnement CYGWIN n'est généralement pas définie. Le fichier de raccourci ou de traitement par lots qui démarre le terminal cygwin définit parfois cette variable. Une des options qui peut être définie par cette variable détermine quel programme est appelé par Windows lorsque l'application se bloque. Le programme /bin/dumper.exe génère le stackdump que vous voulez. Pour contourner votre problème, je règle toujours la variable CYGWIN à partir du panneau de configuration, des propriétés de l'ordinateur, des paramètres avancés du système, des variables d'environnement et des variables utilisateur. (Win7 - YMMV). Par exemple. CYGWIN=error_start=d:\cygwin64\bin\dumper.exe

Voir The CYGWIN Environment variable pour plus d'informations.