Subject: Re: bug#23720: 25.0.94; Issues with GUD (gdb-mi) after upgrade from Emacs 23 to 24/25

From: Guilhem Bichot <[email-masked]>
Date: Thu, 9 Jun 2016 16:30:16 +0200

Eli Zaretskii a écrit le 09/06/2016 16:12 :
>> Cc: [email-masked]
>> From: Guilhem Bichot <[email-masked]>
>> Date: Thu, 9 Jun 2016 15:46:50 +0200
>>
>>> Like I said, I believe this is because your program is running.
>>
>> It is not running. I can repeat the problem when the display is:
>> Breakpoint 1, JOIN::exec (this=0x7fff70008770) at
>> /home/mysql_src/git/cte/sql/sql_executor.cc:113
>> 113	{
>> (gdb)
>>
>> which very much suggests the program is currently stopped (thus, not
>> running). At that point, I can open another file, and put the cursor on
>> a line of that file, and:
>> - C-x C-a C-b does set the breakpoint (another hint that the program
>> isn't stopped).
>> - C-x SPC and clicking on the fringe, don't. In emacs23 they do.
>>
>> In other words, gdb-mi sees manually-opened-files as "not my business I
>> won't offer my shortcuts there", while gud-gdb sees it differently. The
>> latter is more convenient.
>>
>> It is not possible to know in advance all the breakpoints one will need
>> and set them all before "run"...
>
> Ah, okay, I've misunderstood you, sorry.  Yes, this is how stuff works
> with gdb-mi.

Ok. So, apparently, gdb-mi has a set of "source files it has visited" 
and treats other source files differently.

>> ok, now we agree there's a STOP button in emacs24.
>>
>>     (gdb) help interrupt
>>     Interrupt the execution of the debugged program.
>>
>> So, shouldn't this STOP button interrupt my debugged, running program
>> (mysql)?
>> Pressing this STOP button in emacs23 does interrupt it.
>> It doesn't anymore in emacs24.
>> Is it considered normal?
>
> I don't think so, but I don't have any more wisdom to offer about
> this.  AFAIU, -exec-interrupt should have interrupted your program,
> unless it masks signals.

I see. When I find the time, I'll try diff-ing the code of gud-gdb and 
of gdb-mi to find what magic the gud-gdb STOP button has, which makes it 
have "a stronger interruption effect".
If I find anything, I'll report it here.

Thanks for your help!