From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24823 invoked by alias); 14 Oct 2006 16:33:39 -0000 Received: (qmail 24810 invoked by uid 22791); 14 Oct 2006 16:33:38 -0000 X-Spam-Check-By: sourceware.org Received: from zigzag.lvk.cs.msu.su (HELO zigzag.lvk.cs.msu.su) (158.250.17.23) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 14 Oct 2006 16:33:34 +0000 Received: from Debian-exim by zigzag.lvk.cs.msu.su with spam-scanned (Exim 4.50) id 1GYmS2-0007ZO-4l for gdb@sources.redhat.com; Sat, 14 Oct 2006 20:33:30 +0400 Received: from localhost ([127.0.0.1] helo=ip6-localhost) by zigzag.lvk.cs.msu.su with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.50) id 1GYmS1-0007ZL-U4 for gdb@sources.redhat.com; Sat, 14 Oct 2006 20:33:30 +0400 From: Vladimir Prus To: gdb@sources.redhat.com Subject: Reporting of "program no longer exists" Date: Sat, 14 Oct 2006 16:33:00 -0000 User-Agent: KMail/1.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610142033.16596.ghost@cs.msu.su> Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-10/txt/msg00097.txt.bz2 Hi, suppose a program being debugged got SIGSEGV and the user for GUI frontend tries the "next" command. Here's what happens: (gdb) -exec-next ^running *stopped,reason="signal-received",signal-name="SIGSEGV"..... (gdb) -exec-next ^running Couldn't get registers: No such process. ^error,msg="Couldn't get registers: No such process." I think this is a bit unfriendly to frontend. (1) How can frontend disable the "next" command? Checking for "SIGSEGV" is possible, but it a bit of a hack. (2) After getting the second response, how can frontend understand that this is really fatal, unfixable error? Looking at the specific text is obviously a hack? How about making a notion of "inferior state" and announcing changes in the state. So, the above would become (gdb) -exec-next ^running *stopped,target-state="noncontinuable", reason="signal-received",signal-name="SIGSEGV"..... (gdb) -exec-next ^running Couldn't get registers: No such process. ^error,msg="Couldn't get registers: No such process.",target-state="dead" ? - Volodya