From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 104609 invoked by alias); 13 Oct 2016 22:55:21 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 104600 invoked by uid 89); 13 Oct 2016 22:55:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=pty, H*MI:sk:fd69580, pops, H*r:ip*64.59.134.12 X-HELO: smtp-out-no.shaw.ca Received: from smtp-out-no.shaw.ca (HELO smtp-out-no.shaw.ca) (64.59.134.12) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 13 Oct 2016 22:55:10 +0000 Received: from [192.168.1.100] ([174.0.238.184]) by shaw.ca with SMTP id uou3blnzyFfiXuou4bIWZF; Thu, 13 Oct 2016 16:55:08 -0600 X-Authority-Analysis: v=2.2 cv=Qb8khYTv c=1 sm=1 tr=0 a=WqCeCkldcEjBO3QZneQsCg==:117 a=WqCeCkldcEjBO3QZneQsCg==:17 a=IkcTkHD0fZMA:10 a=owX1-wBbAAAA:20 a=o8B5aRGxox3SPnWPblQA:9 a=QEXdDO2ut3YA:10 Subject: Re: Cygwin shell eats Windows exceptions? References: <384029be-4060-cb6b-d1e5-ea88cccb5999@Shaw.ca> To: cygwin@cygwin.com Reply-To: Brian.Inglis@SystematicSw.ab.ca From: Brian Inglis Message-ID: <2ff7ceba-3e08-d514-372b-41e5696c37a5@SystematicSw.ab.ca> Date: Thu, 13 Oct 2016 22:55:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfKE//8JcaLoedZlLWMMJIo5DxNwfvJgnGt0nzSEIzk8jxHUNJO0c2h9RW7ulQg5FLOcxGU+haT9YOt2TqpL9yspxIf+bTFQ7+YbvzhG/hiY7ZkxUCrh3 ROuFdFRKyongpnYIpDReUr1BDgRyQr2Jk7gB58Exj3vA9o2+CXtTKAr3YJTXw3yHX9YlgQj5mja3YQ== X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg00186.txt.bz2 On 2016-10-13 11:56, Bill Smith wrote: >> 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 > 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. As it pops up a Windows msgbox, and the process is being run under a pty (pseudo-tty) without any window available, that will just fail. Why not just trap and report any exceptions console style and return an error? If you need to do interactive debugging, run it under cmd or with cygstart. If you need the best of both worlds, you can translate your scripts from bash to cmd and have the option. -- -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- 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