This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Cygwin shell eats Windows exceptions?


> On 2016-10-13 08:35, Bill Smith wrote:
> > I'm trying to run my Windows C++ application which has a call to
> > DebugBreak() to bring up the popup asking if you want to debug this
> > application or terminate it. If I run the program within Cygwin, the
> > program just exits.
> > If I run the application from a Windows command prompt, I get the
> > Windows popup that I'm expecting. It seems that the Cygwin shell is
> > eating exceptions (sigsegv or similar signals?). Is there a way for me
> > to disable this behavior?
> 
> Not giving us much info to go on here - is this a Cygwin, curses, Cygwin/X, or
> Windows native app, and what kind of popup is used?
> If a Windows native app, is it a console app, or do you run it with cygstart
> from Cygwin?
> If a Cygwin or X app, have you tried running strace, gdb (or a GUI FE) on it?
> If the latter, please post or attach the results, and attach the output from
> cygcheck -svr in a reply.
[Bill Smith] 
Sorry for the lack of info.  This is a Windows native console application.  Here's the source code:

#include <windows.h>

int main()
{
  DebugBreak();
}

Compiled it with Visual Studio 2010:

cl debug.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

debug.cpp
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:debug.exe
debug.obj

When you run the application from a Windows command prompt, you get a popup similar to:
http://imgur.com/a/VCgeW

It says "debug.exe has stopped working" and it gives you the option of closing the program, checking online for a solution, or to debug the program.

From a Cygwin shell, nothing happens.

Another example is to do an access violation (segv) with a program like this:


int main() {
 int* f = 0;

  *f = 1234; 
}

In Cygwin, It'll say "Segmentation Fault" and fail.  In Windows command prompt, I get the same popup with the other program which gives me the option to bring up the debugger.

Our product is built using the Visual Studio compiler and we do the build & test from within a Cygwin shell (c:\cygwin\bin\sh.exe).

I attached the cygcheck -svr output to this email.


Thanks,
--Bill



Attachment: cygcheck_svr.txt.gz
Description: cygcheck_svr.txt.gz

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]