all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* gdb fails to flush output (msys2)
@ 2022-03-14 11:18 Juan José García-Ripoll
  2022-03-14 13:33 ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-14 11:18 UTC (permalink / raw)
  To: emacs-devel

Hi,

I am trying to debug some programs on Windows using MSYS2. In doing so,
I noticed that the gdb mode is not working well with the output from the
debugger.

Specifically, when I start the debugger I get the expected prompt. I can
also issue simple commands, such as "help", or "target exec". However,
once I press run and my program executes, the output from the program is
withheld. This output appears if I press ENTER again, but when I do so,
the program's output appears again and again -- it seems as if it was
reinterpreted as part of the prompt.

GDB is currently invoked through a wrapper I set up to find the
executable https://github.com/juanjosegarciaripoll/project-cmake
However, the same problem is witnessed with a modern installation of
MSYS2 and this little elisp script:

(let* ((msys2 "C:/msys64/ucrt64/bin")
	   (path (concat msys2 ";" (getenv "PATH")))
	   (default-process-coding-system 'utf-8-unix)
	   (process-environment (cl-list* (concat "PATH=" path)
									  "MSYSTEM=ucrt64"
									  process-environment)))
  (call-interactively #'gdb))

Best,

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-14 11:18 gdb fails to flush output (msys2) Juan José García-Ripoll
@ 2022-03-14 13:33 ` Eli Zaretskii
  2022-03-14 17:55   ` Juan José García-Ripoll
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-14 13:33 UTC (permalink / raw)
  To: Juan José García-Ripoll; +Cc: emacs-devel

> From: Juan José García-Ripoll
>  <juanjose.garciaripoll@gmail.com>
> Date: Mon, 14 Mar 2022 12:18:22 +0100
> 
> I am trying to debug some programs on Windows using MSYS2.

What do you mean by "using MSYS2" here?

> In doing so, I noticed that the gdb mode is not working well with
> the output from the debugger.

By "gdb mode", do you mean the result of "M-x gdb", followed by
specifying the GDB command line to debug a program?  If so, what was
the GDB command line you used?

> Specifically, when I start the debugger I get the expected prompt. I can
> also issue simple commands, such as "help", or "target exec". However,
> once I press run and my program executes, the output from the program is
> withheld.

What program are you debugging?  Is it a native MS-Windows
(a.k.a. "MinGW") program, or is it an MSYS2 program that depends on
the MSYS DLL?  Also, is it a console program or something else, like a
program using curses or some other unusual methods of writing to the
screen?

> GDB is currently invoked through a wrapper I set up to find the
> executable https://github.com/juanjosegarciaripoll/project-cmake
> However, the same problem is witnessed with a modern installation of
> MSYS2 and this little elisp script:
> 
> (let* ((msys2 "C:/msys64/ucrt64/bin")
> 	   (path (concat msys2 ";" (getenv "PATH")))
> 	   (default-process-coding-system 'utf-8-unix)
> 	   (process-environment (cl-list* (concat "PATH=" path)
> 									  "MSYSTEM=ucrt64"
> 									  process-environment)))
>   (call-interactively #'gdb))

What happens if you manually add "C:/msys64/ucrt64/bin" to PATH
outside of Emacs, and then invoke GDB from the Windows Command Prompt
window to debug that same program -- does that work as expected?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-14 13:33 ` Eli Zaretskii
@ 2022-03-14 17:55   ` Juan José García-Ripoll
  2022-03-14 18:23     ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-14 17:55 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>> I am trying to debug some programs on Windows using MSYS2.
>
> What do you mean by "using MSYS2" here?

MSYS2 is the open source software distribution that replaces cygwin in
providing a unix-like experience in Windows. I am using MSYS2 and the
Mingw64, UCRT64 and Clang-based toolchains to develop, compile and now
debug software.

>> In doing so, I noticed that the gdb mode is not working well with
>> the output from the debugger.
>
> By "gdb mode", do you mean the result of "M-x gdb", followed by
> specifying the GDB command line to debug a program?  If so, what was
> the GDB command line you used?

Yes, as stated in my script, I invoke Emacs's "gdb" function
programatically supplying it with a command line that is essentially
"c:/msys64/ucrt64/bin/gdb.exe -i=mi /path/to/my.exe" I have also tried
invoking it interactively with similar success. The script I provided is
a bit more clear in the choice of system and paths.

> What program are you debugging?  Is it a native MS-Windows
> (a.k.a. "MinGW") program, or is it an MSYS2 program that depends on
> the MSYS DLL?  Also, is it a console program or something else, like a
> program using curses or some other unusual methods of writing to the
> screen?

I am debugging applications built using cmake + g++ natively (MinGW with
either ucrt64 or older runtimes). They are all console
applications. Launching the debugger from a terminal works for the same
application, but, of course, I lose integration with Emacs.

> What happens if you manually add "C:/msys64/ucrt64/bin" to PATH
> outside of Emacs, and then invoke GDB from the Windows Command Prompt
> window to debug that same program -- does that work as expected?

I prefer not to add MSYS2 + Mingw/Ucrt64 to the path because it collides
with various tools and because I want to be able to use different
toolchains, which does not work if I set the path to point to those
environments (this is what project-cmake automates)

This said, another way to reproduce this issue is to open a
Mingw64/Ucrt64 native console, launch emacs from that console and invoke
M-x gdb. The debugger still stops after launching the initial threads,
hiding the remaining console output, as shown below. I verified that the
problem exists with both ucrt64 and mingw64 runtimes.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe...
(gdb) run
Starting program: c:\home\juanjo\src\tensor\build-msys2-ucrt64\tests\test_rand.exe 
[New Thread 9944.0x1a28]
[New Thread 9944.0x28c0]
[New Thread 9944.0x3a00]
<--- Here it stops. If I press <enter> it shows the console output.

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-14 17:55   ` Juan José García-Ripoll
@ 2022-03-14 18:23     ` Eli Zaretskii
  2022-03-14 18:40       ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-14 18:23 UTC (permalink / raw)
  To: Juan José García-Ripoll; +Cc: emacs-devel

> From: Juan José García-Ripoll
>  <juanjose.garciaripoll@gmail.com>
> Date: Mon, 14 Mar 2022 18:55:55 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> >> I am trying to debug some programs on Windows using MSYS2.
> >
> > What do you mean by "using MSYS2" here?
> 
> MSYS2 is the open source software distribution that replaces cygwin in
> providing a unix-like experience in Windows. I am using MSYS2 and the
> Mingw64, UCRT64 and Clang-based toolchains to develop, compile and now
> debug software.

Yes, I know what MSYS2 is.  I asked a more specific question: what
does it mean to debug a program using MSYS2, and how is it different
from debugging a program "normally", e.g. from the MS-Windows Command
Prompt window?  IOW, what MSYS2-specific aspects are involved in this
debugging?

Also, where did you get the GDB binary distribution you are using?

> 
> >> In doing so, I noticed that the gdb mode is not working well with
> >> the output from the debugger.
> >
> > By "gdb mode", do you mean the result of "M-x gdb", followed by
> > specifying the GDB command line to debug a program?  If so, what was
> > the GDB command line you used?
> 
> Yes, as stated in my script, I invoke Emacs's "gdb" function
> programatically supplying it with a command line that is essentially
> "c:/msys64/ucrt64/bin/gdb.exe -i=mi /path/to/my.exe" I have also tried
> invoking it interactively with similar success. The script I provided is
> a bit more clear in the choice of system and paths.
> 
> > What happens if you manually add "C:/msys64/ucrt64/bin" to PATH
> > outside of Emacs, and then invoke GDB from the Windows Command Prompt
> > window to debug that same program -- does that work as expected?
> 
> I prefer not to add MSYS2 + Mingw/Ucrt64 to the path because it collides
> with various tools and because I want to be able to use different
> toolchains, which does not work if I set the path to point to those
> environments (this is what project-cmake automates)

You can do that in a separate Command Prompt window you open, setting
PATH from the shell prompt.  Then the rest of the system will not be
affected by that.

> This said, another way to reproduce this issue is to open a
> Mingw64/Ucrt64 native console, launch emacs from that console and invoke
> M-x gdb.

How do you start the "Mingw64/Ucrt64 native console"?  I'm asking
because I'm trying to figure out whether this console is or isn't part
of the problem.

> The debugger still stops after launching the initial threads,
> hiding the remaining console output, as shown below. I verified that the
> problem exists with both ucrt64 and mingw64 runtimes.
> 
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe...
> (gdb) run
> Starting program: c:\home\juanjo\src\tensor\build-msys2-ucrt64\tests\test_rand.exe 
> [New Thread 9944.0x1a28]
> [New Thread 9944.0x28c0]
> [New Thread 9944.0x3a00]
> <--- Here it stops. If I press <enter> it shows the console output.

This seems to indicate that there's some incompatibility between the
way GDB outputs stuff to its stdout and the device/program which
displays that stuff.  I don't yet understand well enough what you are
doing differently from the "usual" use of GDB on MS-Windows (which
works just fine), so I cannot tell anything more intelligent.  UCRT
may or may not be a part of the problem, but I don't have any
experience with using Windows programs linked against UCRT instead of
MSVCRT.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-14 18:23     ` Eli Zaretskii
@ 2022-03-14 18:40       ` Eli Zaretskii
  2022-03-15  9:58         ` Juan José García-Ripoll
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-14 18:40 UTC (permalink / raw)
  To: juanjose.garciaripoll; +Cc: emacs-devel

> Date: Mon, 14 Mar 2022 20:23:40 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
> 
> > Starting program: c:\home\juanjo\src\tensor\build-msys2-ucrt64\tests\test_rand.exe 
> > [New Thread 9944.0x1a28]
> > [New Thread 9944.0x28c0]
> > [New Thread 9944.0x3a00]
> > <--- Here it stops. If I press <enter> it shows the console output.
> 
> This seems to indicate that there's some incompatibility between the
> way GDB outputs stuff to its stdout and the device/program which
> displays that stuff.  I don't yet understand well enough what you are
> doing differently from the "usual" use of GDB on MS-Windows (which
> works just fine), so I cannot tell anything more intelligent.  UCRT
> may or may not be a part of the problem, but I don't have any
> experience with using Windows programs linked against UCRT instead of
> MSVCRT.

One possible issue could be with buffering.  Maybe the program you
debug uses line buffering for its output, and that somehow need the
extra Enter?  Just a thought; needless to say, I see no such problems
when I debug from Emacs on.

Can you show how that program behaves when invoked from the system
shell, not under the debugger?  Also, if you invoke "M-x shell" inside
Emacs, and then run that program from the inferior shell, does it
behave correctly, or does it also hangs until you type Enter?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-14 18:40       ` Eli Zaretskii
@ 2022-03-15  9:58         ` Juan José García-Ripoll
  2022-03-15 11:48           ` Jostein Kjønigsen
  0 siblings, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-15  9:58 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
> Can you show how that program behaves when invoked from the system
> shell, not under the debugger?  Also, if you invoke "M-x shell" inside
> Emacs, and then run that program from the inferior shell, does it
> behave correctly, or does it also hangs until you type Enter?

Let me summarize all the questions in this single post. What is related
to MSYS2 is the use of MSYS2's toolchains for building and debugging the
software. There is nothing specific to MSYS2 other than specifying to
Emacs that the debugger is c:/msys64/ucrt64/bin/gdb.exe or some other
program from the toolchain I choose.

Your paragraph abore is quite on spot. As I stated before, if I use M-x
shell and invoke the debugger from the shell (still within Emacs)
everything works just fine, so it is not a buffering issue. Also, to be
more precise, within the debugger the program runs to completion, which
means the output is completely unbuffered. It therefore should have been
shown by Emacs' gdb already when I copied the text.

Another indication that there is some problem with Emacs' GDB/GUD
packages is that the output _is_ there. If I type a command right after
the last shown output, gdb executes that command, and any following one,
but re-displays the original output of the program again and again. It
is somehow as if it had reinterpreted the program's output as a prompt.

Is there a way I can debug how GUD is behaving or interfacing with gdb's
output? I know some other major modes keep debugging information or
intermediate buffers if requested. But I still have not found it for
GUD.

Best,

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15  9:58         ` Juan José García-Ripoll
@ 2022-03-15 11:48           ` Jostein Kjønigsen
  2022-03-15 13:24             ` Juan José García-Ripoll
  2022-03-15 14:25             ` Eli Zaretskii
  0 siblings, 2 replies; 17+ messages in thread
From: Jostein Kjønigsen @ 2022-03-15 11:48 UTC (permalink / raw)
  To: Juan José García-Ripoll, emacs-devel,
	Saulius Menkevičius

[-- Attachment #1: Type: text/plain, Size: 2806 bytes --]

On 15.03.2022 10:58, Juan José García-Ripoll wrote:
> Eli Zaretskii<eliz@gnu.org>  writes:
>> Can you show how that program behaves when invoked from the system
>> shell, not under the debugger?  Also, if you invoke "M-x shell" inside
>> Emacs, and then run that program from the inferior shell, does it
>> behave correctly, or does it also hangs until you type Enter?
> Let me summarize all the questions in this single post. What is related
> to MSYS2 is the use of MSYS2's toolchains for building and debugging the
> software. There is nothing specific to MSYS2 other than specifying to
> Emacs that the debugger is c:/msys64/ucrt64/bin/gdb.exe or some other
> program from the toolchain I choose.
>
> Your paragraph abore is quite on spot. As I stated before, if I use M-x
> shell and invoke the debugger from the shell (still within Emacs)
> everything works just fine, so it is not a buffering issue. Also, to be
> more precise, within the debugger the program runs to completion, which
> means the output is completely unbuffered. It therefore should have been
> shown by Emacs' gdb already when I copied the text.
>
> Another indication that there is some problem with Emacs' GDB/GUD
> packages is that the output _is_ there. If I type a command right after
> the last shown output, gdb executes that command, and any following one,
> but re-displays the original output of the program again and again. It
> is somehow as if it had reinterpreted the program's output as a prompt.
>
> Is there a way I can debug how GUD is behaving or interfacing with gdb's
> output? I know some other major modes keep debugging information or
> intermediate buffers if requested. But I still have not found it for
> GUD.
>
> Best,
>
Could this error in any way be related to the previous issue with had 
with "use posix_spawn"? [1]

For those who need a reminder, as far as I understood it, the key issue 
there was that  a required bugfix for Mac (but also generally an 
optimization) was made into a default optimization for platforms, and 
the idea was that unless it was proven troublesome one could decide to 
keep it.

Well, on Linux it did cause some issues with triggering external 
processes. Specifically .NET-based tooling, made especially painful with 
.NET-based Language Server implementations no longer working (C# and F#).

If this is another instance of such a bug (and I'm deliberately 
qualifing that with an "if"), would it make sense to reverse this 
optimization on all platforms not Mac? There seems to be several 
unintended side-effects, and could possibly be more?

[1] https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01561.html

-- 
Kind regards
*Jostein Kjønigsen*

jostein@kjonigsen.net 🍵 jostein@gmail.com
https://jostein.kjønigsen.no <https://jostein.kjønigsen.no>

[-- Attachment #2: Type: text/html, Size: 3797 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 11:48           ` Jostein Kjønigsen
@ 2022-03-15 13:24             ` Juan José García-Ripoll
  2022-03-15 13:33               ` Juan José García-Ripoll
  2022-03-15 14:25             ` Eli Zaretskii
  1 sibling, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-15 13:24 UTC (permalink / raw)
  To: emacs-devel

I am not sure this has to do with using spawn() which IMHO would also
benefit Windows as compared to faking fork(). To confirm this, I have
run emacs and gdb inside Process Explorer. Just before I enter "run" in
the "gdb" window, Process Explorer shows a total of 30kb written by gdb,
while after my process is finished it shows 32kb. Those extra 2kb are
not shown by Emacs.

Below I show a complete interaction consisting on four steps: (1) launch
gdb with M-x gdb, supplying "c:/msys64/ucrt64/bin/gdb -i=mi
c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe", (2)
enter "run" + enter in gdb, (3) press again <enter>, (4) press <enter>,
(5) type "quit" follwed by <enter>. Note how Emacs fails to show me the
output of the debugger and interprets a single <enter> as pressing "run"
again. Between steps (1) and (2), Process Explorer shows 2k of written
data, after (3) it shows another 2k.

Current directory is c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/
GNU gdb (GDB) 11.1
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe...
(gdb) run <<<< Step (2)
Starting program: c:\home\juanjo\src\tensor\build-msys2-ucrt64\tests\test_rand.exe 
[New Thread 17312.0x144c]
[New Thread 17312.0x1f28]
[New Thread 17312.0x4d0]
<<< Step (3), press <enter>
[[----------] Global test environment set-up.
[----------] 10 tests from RandTest
[ RUN      ] RandTest.IntSize
[       OK ] RandTest.IntSize (0 ms)
[ RUN      ] RandTest.LongSize
[       OK ] RandTest.LongSize (0 ms)
[ RUN      ] RandTest.Reseed
[       OK ] RandTest.Reseed (1 ms)
[ RUN      ] RandTest.DoubleBalanced
[       OK ] RandTest.DoubleBalanced (0 ms)
[ RUN      ] RandTest.DoubleSigma
[       OK ] RandTest.DoubleSigma (1 ms)
[ RUN      ] RandTest.ComplexBalanced
[       OK ] RandTest.ComplexBalanced (1 ms)
[ RUN      ] RandTest.ComplexUncorrelated
[       OK ] RandTest.ComplexUncorrelated (0 ms)
[ RUN      ] RandTest.IntEmpty
[       OK ] RandTest.IntEmpty (0 ms)
[ RUN      ] RandTest.LongEmpty
[       OK ] RandTest.LongEmpty (0 ms)
[ RUN      ] RandTest.ULongEmpty
[       OK ] RandTest.ULongEmpty (0 ms)
[----------] 10 tests from RandTest (3 ms total)

[----------] Global test environment tear-down
[[  PASSED  ] 10 tests.
[Thread 17312.0x1f28 exited with code 0]
[Thread 17312.0x4d0 exited with code 0]
[Thread 17312.0x144c exited with code 0]
[Inferior 1 (process 17312) exited normally]
(gdb) Starting program: c:\home\juanjo\src\tensor\build-msys2-ucrt64\tests\test_rand.exe 
[New Thread 18700.0xdf8]
[New Thread 18700.0x18f4]
[New Thread 18700.0xf08]
[<<< Step (4), press <enter>
[----------] Global test environment set-up.
[----------] 10 tests from RandTest
[ RUN      ] RandTest.IntSize
[       OK ] RandTest.IntSize (0 ms)
[ RUN      ] RandTest.LongSize
[       OK ] RandTest.LongSize (0 ms)
[ RUN      ] RandTest.Reseed
[       OK ] RandTest.Reseed (1 ms)
[ RUN      ] RandTest.DoubleBalanced
[       OK ] RandTest.DoubleBalanced (0 ms)
[ RUN      ] RandTest.DoubleSigma
[       OK ] RandTest.DoubleSigma (2 ms)
[ RUN      ] RandTest.ComplexBalanced
[       OK ] RandTest.ComplexBalanced (0 ms)
[ RUN      ] RandTest.ComplexUncorrelated
[       OK ] RandTest.ComplexUncorrelated (1 ms)
[ RUN      ] RandTest.IntEmpty
[       OK ] RandTest.IntEmpty (0 ms)
[ RUN      ] RandTest.LongEmpty
[       OK ] RandTest.LongEmpty (0 ms)
[ RUN      ] RandTest.ULongEmpty
[       OK ] RandTest.ULongEmpty (0 ms)
[----------] 10 tests from RandTest (4 ms total)

[----------] Global test environment tear-down
[[  PASSED  ] 10 tests.
[Thread 18700.0xf08 exited with code 0]
[Thread 18700.0xdf8 exited with code 0]
[Thread 18700.0x18f4 exited with code 0]
[Inferior 1 (process 18700) exited normally]
(gdb) Starting program: c:\home\juanjo\src\tensor\build-msys2-ucrt64\tests\test_rand.exe 
[New Thread 12752.0x21b4]
[New Thread 12752.0x3710]
[New Thread 12752.0x4934]
[quit<<< Step (4)

Debugger finished


Jostein Kjønigsen <jostein@secure.kjonigsen.net> writes:
> On 15.03.2022 10:58, Juan José García-Ripoll wrote:
>
>  Eli Zaretskii <eliz@gnu.org> writes:
>
>  Can you show how that program behaves when invoked from the system
> shell, not under the debugger?  Also, if you invoke "M-x shell" inside
> Emacs, and then run that program from the inferior shell, does it
> behave correctly, or does it also hangs until you type Enter?
>
>
> Let me summarize all the questions in this single post. What is related
> to MSYS2 is the use of MSYS2's toolchains for building and debugging the
> software. There is nothing specific to MSYS2 other than specifying to
> Emacs that the debugger is c:/msys64/ucrt64/bin/gdb.exe or some other
> program from the toolchain I choose.
>
> Your paragraph abore is quite on spot. As I stated before, if I use M-x
> shell and invoke the debugger from the shell (still within Emacs)
> everything works just fine, so it is not a buffering issue. Also, to be
> more precise, within the debugger the program runs to completion, which
> means the output is completely unbuffered. It therefore should have been
> shown by Emacs' gdb already when I copied the text.
>
> Another indication that there is some problem with Emacs' GDB/GUD
> packages is that the output _is_ there. If I type a command right after
> the last shown output, gdb executes that command, and any following one,
> but re-displays the original output of the program again and again. It
> is somehow as if it had reinterpreted the program's output as a prompt.
>
> Is there a way I can debug how GUD is behaving or interfacing with gdb's
> output? I know some other major modes keep debugging information or
> intermediate buffers if requested. But I still have not found it for
> GUD.
>
> Best,
>
> Could this error in any way be related to the previous issue with had with "use posix_spawn"? [1]
>
> For those who need a reminder, as far as I understood it, the key issue there was that  a required bugfix for
> Mac (but also generally an optimization) was made into a default optimization for platforms, and the idea was
> that unless it was proven troublesome one could decide to keep it.
>
> Well, on Linux it did cause some issues with triggering external processes. Specifically .NET-based tooling,
> made especially painful with .NET-based Language Server implementations no longer working (C# and F#).
>
> If this is another instance of such a bug (and I'm deliberately qualifing that with an "if"), would it make sense
> to reverse this optimization on all platforms not Mac? There seems to be several unintended side-effects, and
> could possibly be more?
>
> [1] https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01561.html

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 13:24             ` Juan José García-Ripoll
@ 2022-03-15 13:33               ` Juan José García-Ripoll
  2022-03-15 14:34                 ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-15 13:33 UTC (permalink / raw)
  To: emacs-devel

I just found the old interface to gdb is still in gud.el, under the name
gud-gdb. When I use M-x gud-gdb instead of M-x gdb, I can run the
program and debug it without any problem (output is not blocked).

It therefore seems that whatever issues are hiding in Emacs' support for
GDB's new facilities for programming ("-i=mi" command line option and
corresponding code in GUD).

Best,

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 11:48           ` Jostein Kjønigsen
  2022-03-15 13:24             ` Juan José García-Ripoll
@ 2022-03-15 14:25             ` Eli Zaretskii
  1 sibling, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-15 14:25 UTC (permalink / raw)
  To: jostein; +Cc: sauliusmenkevicius, juanjose.garciaripoll, emacs-devel

> Date: Tue, 15 Mar 2022 12:48:17 +0100
> From: Jostein Kjønigsen <jostein@secure.kjonigsen.net>
> 
> Could this error in any way be related to the previous issue with had with "use posix_spawn"? [1]

No, because the MS-Windows build of Emacs doesn't use posix_spawn.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 13:33               ` Juan José García-Ripoll
@ 2022-03-15 14:34                 ` Eli Zaretskii
  2022-03-15 14:40                   ` Juan José García-Ripoll
  2022-03-15 15:12                   ` Juan José García-Ripoll
  0 siblings, 2 replies; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-15 14:34 UTC (permalink / raw)
  To: Juan José García-Ripoll; +Cc: emacs-devel

> From: Juan José García-Ripoll
>  <juanjose.garciaripoll@gmail.com>
> Date: Tue, 15 Mar 2022 14:33:20 +0100
> 
> I just found the old interface to gdb is still in gud.el, under the name
> gud-gdb. When I use M-x gud-gdb instead of M-x gdb, I can run the
> program and debug it without any problem (output is not blocked).
> 
> It therefore seems that whatever issues are hiding in Emacs' support for
> GDB's new facilities for programming ("-i=mi" command line option and
> corresponding code in GUD).

Yes, I suspected that.

You didn't answer my question about where you downloaded this GDB.  Is
this the "usual" MSYS2 GDB, and if so, is it linked against UCRT or
the "normal" MSVCRT runtime?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 14:34                 ` Eli Zaretskii
@ 2022-03-15 14:40                   ` Juan José García-Ripoll
  2022-03-15 16:47                     ` Eli Zaretskii
  2022-03-15 15:12                   ` Juan José García-Ripoll
  1 sibling, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-15 14:40 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
> You didn't answer my question about where you downloaded this GDB.  Is
> this the "usual" MSYS2 GDB, and if so, is it linked against UCRT or
> the "normal" MSVCRT runtime?

I have used both the UCRT and MSVCRT runtimes, provided in
c:/msys64/ucrt64/bin/gdb.exe and c:/msys64/mingw64/bin/gdb.exe They are
downloaded from the MSYS2 terminal using pacman, so I assume they are
from the standard repositories.

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 14:34                 ` Eli Zaretskii
  2022-03-15 14:40                   ` Juan José García-Ripoll
@ 2022-03-15 15:12                   ` Juan José García-Ripoll
  2022-03-15 16:53                     ` Eli Zaretskii
  1 sibling, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-15 15:12 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1263 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:
>> From: Juan José García-Ripoll
>> It therefore seems that whatever issues are hiding in Emacs' support for
>> GDB's new facilities for programming ("-i=mi" command line option and
>> corresponding code in GUD).
>
> Yes, I suspected that.

I think I have identified the problem. The code in Emacs assumes that
all process output is going to be prefixed by @. This is only the case
for truely asynchronous debugging (see
https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Stream-Records.html#GDB_002fMI-Stream-Records).

There seems to be code in gdb-mi.el for transforming the debugging
experience into a remote one, such as gdb-inferior-io--init-proc, which
aims to redirect the subprocess to a tty, but this seems to have no
effect on Windows.

Indeed, if once sets a tracepoint around gud-filter and
gud-gdbmi-marker-filter, the output is very different on Linux and on
Windows (see text files attached). Linux has successfully redirected the
output of the debugged subprocess, while the MSYS2 process gets the
output of the process mixed with GDB output.

I am a bit stuck. I assume I should simply use the old gud-gdb interface.

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es

[-- Attachment #2: windows-gdb-output.txt --]
[-- Type: text/plain, Size: 76591 bytes --]

======================================================================
1 -> (make-process :name "gud-test_rand.exe" :buffer #<buffer *gud-test_rand.exe*> :command ("gdb" "-i=mi" "c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe"))
1 <- make-process: #<process gud-test_rand.exe>
======================================================================
1 -> (make-process :name "gdb-inferior" :buffer #<buffer limbo>)
1 <- make-process: #<process gdb-inferior>
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "=thread-group-added,id=\"i1\"
~\"GNU gdb (GDB) 11.1\\n\"
~\"Copyright (C) 2021 Free Software Foundation, Inc.\\n\"
~\"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\\nThis is free software: you are free to change and redistribute it.\\nThere is NO WARRANTY, to the extent permitted by law.\"
~\"\\nType \\\"show copying\\\" and \\\"show warranty\\\" for details.\\n\"
~\"This GDB was configured as \\\"x86_64-w64-mingw32\\\".\\n\"
~\"Type \\\"show configuration\\\" for configuration details.\\n\"
~\"For bug reporting instructions, please see:\\n\"
~\"<https://www.gnu.org/software/gdb/bugs/>.\\n\"
")
| 2 -> (gud-gdbmi-marker-filter "=thread-group-added,id=\"i1\"
~\"GNU gdb (GDB) 11.1\\n\"
~\"Copyright (C) 2021 Free Software Foundation, Inc.\\n\"
~\"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\\nThis is free software: you are free to change and redistribute it.\\nThere is NO WARRANTY, to the extent permitted by law.\"
~\"\\nType \\\"show copying\\\" and \\\"show warranty\\\" for details.\\n\"
~\"This GDB was configured as \\\"x86_64-w64-mingw32\\\".\\n\"
~\"Type \\\"show configuration\\\" for configuration details.\\n\"
~\"For bug reporting instructions, please see:\\n\"
~\"<https://www.gnu.org/software/gdb/bugs/>.\\n\"
")
| 2 <- gud-gdbmi-marker-filter: "GNU gdb (GDB) 11.1
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type \"show copying\" and \"show warranty\" for details.
This GDB was configured as \"x86_64-w64-mingw32\".
Type \"show configuration\" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
"
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "~\"Find the GDB manual and other documentation resources online at:\\n    <http://www.gnu.org/software/gdb/documentation/>.\"
~\"\\n\\n\"
~\"For help, type \\\"help\\\".\\n\"
~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\"...\\n\"
~\"Reading symbols from c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe...\\n\"
")
| 2 -> (gud-gdbmi-marker-filter "~\"Find the GDB manual and other documentation resources online at:\\n    <http://www.gnu.org/software/gdb/documentation/>.\"
~\"\\n\\n\"
~\"For help, type \\\"help\\\".\\n\"
~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\"...\\n\"
~\"Reading symbols from c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe...\\n\"
")
| 2 <- gud-gdbmi-marker-filter: "Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type \"help\".
Type \"apropos word\" to search for commands related to \"word\"...
Reading symbols from c:/home/juanjo/src/tensor/build-msys2-ucrt64/tests/test_rand.exe...
"
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "(gdb)
")
| 2 -> (gud-gdbmi-marker-filter "(gdb)
")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "1^done
(gdb)
2^done
(gdb)
3^done
(gdb)
4^done
(gdb)
5^done
(gdb)
6^done,files=[{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/time.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/time.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/ucrtbase_compat.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/ucrtbase_compat.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_fprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_fprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_vfprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_vfprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/wcsnlen.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/wcsnlen.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strnlen.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strnlen.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoaimp.h\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoaimp.h\",debug-fully-read=\"false\"},{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/misc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/misc.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gmisc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gmisc.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoa.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoa.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/dmisc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/dmisc.c\",debug-fully-read=\"false\"},{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/math.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/math.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_pformat.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_pformat.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vsnprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vsnprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vfprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vfprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/_stat64i32.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/_stat64i32.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strtoumax.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strtoumax.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/mingw_matherr.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/mingw_matherr.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.def.h\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.def.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pesect.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pesect.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseu")
| 2 -> (gud-gdbmi-marker-filter "1^done
(gdb)
2^done
(gdb)
3^done
(gdb)
4^done
(gdb)
5^done
(gdb)
6^done,files=[{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/time.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/time.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/ucrtbase_compat.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/ucrtbase_compat.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_fprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_fprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_vfprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/ucrt_vfprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/wcsnlen.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/wcsnlen.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strnlen.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strnlen.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoaimp.h\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoaimp.h\",debug-fully-read=\"false\"},{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/misc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/misc.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gmisc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gmisc.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoa.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/gdtoa.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/dmisc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/gdtoa/dmisc.c\",debug-fully-read=\"false\"},{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/math.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/math.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_pformat.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_pformat.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vsnprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vsnprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vfprintf.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/mingw_vfprintf.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/_stat64i32.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/stdio/_stat64i32.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strtoumax.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/strtoumax.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/mingw_matherr.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/misc/mingw_matherr.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.def.h\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.def.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/math/sqrt.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pesect.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pesect.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseu")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "do-reloc-list.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc-list.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsmcrt.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsmcrt.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsthrd.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsthrd.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crt_handler.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crt_handler.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xtxtmode.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xtxtmode.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/usermatherr.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/usermatherr.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/mingw_helpers.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/mingw_helpers.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/CRT_fp10.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/CRT_fp10.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/merr.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/merr.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/cinitexe.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/cinitexe.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xncommod.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xncommod.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlssup.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlssup.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/_newmode.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/_newmode.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/dllargv.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/dllargv.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/wildcard.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/wildcard.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/natstart.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/natstart.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/gccmain.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/gccmain.c\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/iostream\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\iostream\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/src/rand/rand32.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\src\\\\rand\\\\rand32.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/include/tensor/numbers.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\include\\\\tensor\\\\numbers.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/complex\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\complex\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/x86_64-w64-mingw32/include/time.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\x86_64-w64-mingw32\\\\include\\\\time.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/src/rand/rand.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\src\\\\rand\\\\rand.cc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/cpp_type_traits.h\",fullname=\"C:\\\\m")
| 2 -> (gud-gdbmi-marker-filter "do-reloc-list.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc-list.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsmcrt.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsmcrt.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsthrd.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlsthrd.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crt_handler.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crt_handler.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xtxtmode.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xtxtmode.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/usermatherr.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/usermatherr.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/mingw_helpers.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/mingw_helpers.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/CRT_fp10.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/CRT_fp10.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/merr.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/merr.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/cinitexe.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/cinitexe.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xncommod.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/xncommod.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlssup.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/tlssup.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/_newmode.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/_newmode.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/dllargv.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/dllargv.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/wildcard.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/wildcard.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/natstart.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/natstart.c\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/gccmain.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/gccmain.c\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/iostream\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\iostream\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/src/rand/rand32.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\src\\\\rand\\\\rand32.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/include/tensor/numbers.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\include\\\\tensor\\\\numbers.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/complex\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\complex\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/x86_64-w64-mingw32/include/time.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\x86_64-w64-mingw32\\\\include\\\\time.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/src/rand/rand.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\src\\\\rand\\\\rand.cc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/cpp_type_traits.h\",fullname=\"C:\\\\m")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "sys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\cpp_type_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/allocated_ptr.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\allocated_ptr.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_construct.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_construct.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/aligned_buffer.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\aligned_buffer.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/type_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\type_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/list.tcc\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\list.tcc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_function.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_function.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_iterator_base_types.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_iterator_base_types.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_uninitialized.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_uninitialized.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/alloc_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\alloc_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/new_allocator.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\new_allocator.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/atomicity.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\atomicity.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/alloc_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\alloc_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_iterator_base_funcs.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_iterator_base_funcs.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/vector.tcc\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\vector.tcc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/tuple\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\tuple\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/predefined_ops.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\predefined_ops.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_algo.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_algo.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/basic_string.tcc\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\basic_string.tcc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/move.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\move.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/allocator.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\allocator.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/unique_ptr.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\unique_ptr.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_iterator.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_iterator.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/basic_string.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\basic_string.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-typed-test.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-typed-test.cc\",debug-fully-read=\"false\"},{file=\"C")
| 2 -> (gud-gdbmi-marker-filter "sys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\cpp_type_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/allocated_ptr.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\allocated_ptr.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_construct.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_construct.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/aligned_buffer.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\aligned_buffer.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/type_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\type_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/list.tcc\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\list.tcc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_function.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_function.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_iterator_base_types.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_iterator_base_types.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_uninitialized.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_uninitialized.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/alloc_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\alloc_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/new_allocator.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\new_allocator.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/atomicity.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\atomicity.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/ext/alloc_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\ext\\\\alloc_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_iterator_base_funcs.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_iterator_base_funcs.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/vector.tcc\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\vector.tcc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/tuple\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\tuple\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/predefined_ops.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\predefined_ops.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_algo.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_algo.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/basic_string.tcc\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\basic_string.tcc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/move.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\move.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/allocator.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\allocator.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/unique_ptr.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\unique_ptr.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_iterator.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_iterator.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/basic_string.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\basic_string.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-typed-test.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-typed-test.cc\",debug-fully-read=\"false\"},{file=\"C")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> ":/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-test-part.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-test-part.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-printers.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-printers.cc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/shared_ptr.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\shared_ptr.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/shared_ptr_base.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\shared_ptr_base.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\x86_64-w64-mingw32\\\\include\\\\psdk_inc\\\\intrin-impl.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-port.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-port.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-matchers.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-matchers.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-filepath.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-filepath.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-death-test.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-death-test.cc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_set.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_set.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_map.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_map.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_pair.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_pair.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-internal-inl.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-internal-inl.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_list.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_list.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/cmath\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\cmath\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/chrono\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\chrono\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-param-util.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-param-util.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_vector.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_vector.h\",debu")
| 2 -> (gud-gdbmi-marker-filter ":/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-test-part.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-test-part.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-printers.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-printers.cc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/shared_ptr.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\shared_ptr.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/shared_ptr_base.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\shared_ptr_base.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\x86_64-w64-mingw32\\\\include\\\\psdk_inc\\\\intrin-impl.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-port.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-port.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-matchers.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-matchers.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-filepath.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-filepath.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-death-test.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-death-test.cc\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_set.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_set.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_map.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_map.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_pair.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_pair.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-internal-inl.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-internal-inl.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_list.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_list.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/cmath\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\cmath\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/chrono\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\chrono\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-param-util.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-param-util.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_vector.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_vector.h\",debu")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "g-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-test-part.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-test-part.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-death-test-internal.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-death-test-internal.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/atomic_base.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\atomic_base.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-matchers.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-matchers.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-printers.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-printers.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/atomic\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\atomic\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-internal.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-internal.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-filepath.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-filepath.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-message.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-message.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_tree.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_tree.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/iomanip\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\iomanip\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-port.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-port.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/type_traits\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\type_traits\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/ios_base.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\ios_base.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/x86_64-w64-mingw32/include/stdio.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\x86_64-w64-mingw32\\\\include\\\\stdio.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/char_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\char_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/x86_64-w64-mingw32/bits/gthr-default.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\x86_64-w64-mingw32\\\\bits\\\\gthr-default.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/new\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\new\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_algobase.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_algobase.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/limits\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11")
| 2 -> (gud-gdbmi-marker-filter "g-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-test-part.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-test-part.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-death-test-internal.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-death-test-internal.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/atomic_base.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\atomic_base.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-matchers.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-matchers.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-printers.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-printers.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/atomic\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\atomic\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-internal.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-internal.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-filepath.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-filepath.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/gtest-message.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\gtest-message.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_tree.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_tree.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/iomanip\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\iomanip\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/include/gtest/internal/gtest-port.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\include\\\\gtest\\\\internal\\\\gtest-port.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/type_traits\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\type_traits\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/ios_base.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\ios_base.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/x86_64-w64-mingw32/include/stdio.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\x86_64-w64-mingw32\\\\include\\\\stdio.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/char_traits.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\char_traits.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/x86_64-w64-mingw32/bits/gthr-default.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\x86_64-w64-mingw32\\\\bits\\\\gthr-default.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/new\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\new\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/stl_algobase.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\stl_algobase.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/limits\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> ".2.0\\\\limits\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-all.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-all.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/tests/test_main.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\tests\\\\test_main.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/include/tensor/rand.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\include\\\\tensor\\\\rand.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/std_abs.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\std_abs.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/tests/test_rand.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\tests\\\\test_rand.cc\",debug-fully-read=\"false\"},{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/winnt.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/winnt.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c\",debug-fully-read=\"false\"}]
(gdb)
7^done,line=\"13\",file=\"C:/home/juanjo/src/tensor/tests/test_main.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\tests\\\\test_main.cc\",macro-info=\"0\"
(gdb)
8^done,value=\"(gdb) \"
(gdb)
9^error,msg=\"No registers.\"
(gdb)
10^done,threads=[]
(gdb)
11^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb)
12^done,threads=[]
(gdb)
13^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb)
14^done,threads=[]
(gdb)
15^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb)
")
| 2 -> (gud-gdbmi-marker-filter ".2.0\\\\limits\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/build-msys2-ucrt64/_deps/googletest-src/googletest/src/gtest-all.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\_deps\\\\googletest-src\\\\googletest\\\\src\\\\gtest-all.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/tests/test_main.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\tests\\\\test_main.cc\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/include/tensor/rand.h\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\include\\\\tensor\\\\rand.h\",debug-fully-read=\"false\"},{file=\"C:/msys64/ucrt64/include/c++/11.2.0/bits/std_abs.h\",fullname=\"C:\\\\msys64\\\\ucrt64\\\\include\\\\c++\\\\11.2.0\\\\bits\\\\std_abs.h\",debug-fully-read=\"false\"},{file=\"C:/home/juanjo/src/tensor/tests/test_rand.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\tests\\\\test_rand.cc\",debug-fully-read=\"false\"},{file=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/winnt.h\",fullname=\"D:/a/msys64/ucrt64/x86_64-w64-mingw32/include/winnt.h\",debug-fully-read=\"false\"},{file=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c\",fullname=\"C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c\",debug-fully-read=\"false\"}]
(gdb)
7^done,line=\"13\",file=\"C:/home/juanjo/src/tensor/tests/test_main.cc\",fullname=\"C:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\tests\\\\test_main.cc\",macro-info=\"0\"
(gdb)
8^done,value=\"(gdb) \"
(gdb)
9^error,msg=\"No registers.\"
(gdb)
10^done,threads=[]
(gdb)
11^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb)
12^done,threads=[]
(gdb)
13^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb)
14^done,threads=[]
(gdb)
15^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb)
")
| 2 <- gud-gdbmi-marker-filter: "(gdb) "
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "~\"Starting program: c:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\tests\\\\test_rand.exe \\n\"
")
| 2 -> (gud-gdbmi-marker-filter "~\"Starting program: c:\\\\home\\\\juanjo\\\\src\\\\tensor\\\\build-msys2-ucrt64\\\\tests\\\\test_rand.exe \\n\"
")
| 2 <- gud-gdbmi-marker-filter: "Starting program: c:\\home\\juanjo\\src\\tensor\\build-msys2-ucrt64\\tests\\test_rand.exe
"
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "=thread-group-started,id=\"i1\",pid=\"9084\"
=thread-created,id=\"1\",group-id=\"i1\"
=thread-created,id=\"2\",group-id=\"i1\"
~\"[New Thread 9084.0x4110]\\n\"
=thread-created,id=\"3\",group-id=\"i1\"
~\"[New Thread 9084.0x2c70]\\n\"
=thread-created,id=\"4\",group-id=\"i1\"
~\"[New Thread 9084.0x2654]\\n\"
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7f911000\",to=\"0x00007ffe7fb04544\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7f0f1000\",to=\"0x00007ffe7f1ad30c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d031000\",to=\"0x00007ffe7d2f7abc\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\advapi32.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\advapi32.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\advapi32.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7f4a1000\",to=\"0x00007ffe7f54d8f4\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\msvcrt.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\msvcrt.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\msvcrt.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7ea01000\",to=\"0x00007ffe7ea9d4a8\"}]
")
| 2 -> (gud-gdbmi-marker-filter "=thread-group-started,id=\"i1\",pid=\"9084\"
=thread-created,id=\"1\",group-id=\"i1\"
=thread-created,id=\"2\",group-id=\"i1\"
~\"[New Thread 9084.0x4110]\\n\"
=thread-created,id=\"3\",group-id=\"i1\"
~\"[New Thread 9084.0x2c70]\\n\"
=thread-created,id=\"4\",group-id=\"i1\"
~\"[New Thread 9084.0x2654]\\n\"
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7f911000\",to=\"0x00007ffe7fb04544\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7f0f1000\",to=\"0x00007ffe7f1ad30c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d031000\",to=\"0x00007ffe7d2f7abc\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\advapi32.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\advapi32.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\advapi32.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7f4a1000\",to=\"0x00007ffe7f54d8f4\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\msvcrt.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\msvcrt.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\msvcrt.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7ea01000\",to=\"0x00007ffe7ea9d4a8\"}]
")
| 2 <- gud-gdbmi-marker-filter: "[New Thread 9084.0x4110]
[New Thread 9084.0x2c70]
[New Thread 9084.0x2654]
"
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\sechost.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\sechost.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\sechost.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7ee61000\",to=\"0x00007ffe7eefb464\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\rpcrt4.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\rpcrt4.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\rpcrt4.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7e0b1000\",to=\"0x00007ffe7e1d47bc\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d501000\",to=\"0x00007ffe7d5ffaf8\"}]
=library-loaded,id=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libgcc_s_seh-1.dll\",target-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libgcc_s_seh-1.dll\",host-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libgcc_s_seh-1.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe67b81000\",to=\"0x00007ffe67b9b07c\"}]
=library-loaded,id=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libstdc++-6.dll\",target-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libstdc++-6.dll\",host-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libstdc++-6.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe36e81000\",to=\"0x00007ffe37064f1c\"}]
=library-loaded,id=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libwinpthread-1.dll\",target-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libwinpthread-1.dll\",host-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libwinpthread-1.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe67df1000\",to=\"0x00007ffe67e06080\"}]
")
| 2 -> (gud-gdbmi-marker-filter "=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\sechost.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\sechost.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\sechost.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7ee61000\",to=\"0x00007ffe7eefb464\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\rpcrt4.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\rpcrt4.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\rpcrt4.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7e0b1000\",to=\"0x00007ffe7e1d47bc\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d501000\",to=\"0x00007ffe7d5ffaf8\"}]
=library-loaded,id=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libgcc_s_seh-1.dll\",target-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libgcc_s_seh-1.dll\",host-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libgcc_s_seh-1.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe67b81000\",to=\"0x00007ffe67b9b07c\"}]
=library-loaded,id=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libstdc++-6.dll\",target-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libstdc++-6.dll\",host-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libstdc++-6.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe36e81000\",to=\"0x00007ffe37064f1c\"}]
=library-loaded,id=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libwinpthread-1.dll\",target-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libwinpthread-1.dll\",host-name=\"C:\\\\msys64\\\\ucrt64\\\\bin\\\\libwinpthread-1.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe67df1000\",to=\"0x00007ffe67e06080\"}]
")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "^running
*running,thread-id=\"all\"
(gdb)
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptsp.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptsp.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptsp.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7c9f1000\",to=\"0x00007ffe7ca0713c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\system32\\\\rsaenh.dll\",target-name=\"C:\\\\Windows\\\\system32\\\\rsaenh.dll\",host-name=\"C:\\\\Windows\\\\system32\\\\rsaenh.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7c0c1000\",to=\"0x00007ffe7c0f309c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\bcrypt.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\bcrypt.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\bcrypt.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d6b1000\",to=\"0x00007ffe7d6d610c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\sspicli.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\sspicli.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\sspicli.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7cef1000\",to=\"0x00007ffe7cf213ec\"}]
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\userenv.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\userenv.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\userenv.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7cf31000\",to=\"0x00007ffe7cf5d1f8\"}]
")
| 2 -> (gud-gdbmi-marker-filter "^running
*running,thread-id=\"all\"
(gdb)
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptsp.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptsp.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptsp.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7c9f1000\",to=\"0x00007ffe7ca0713c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\system32\\\\rsaenh.dll\",target-name=\"C:\\\\Windows\\\\system32\\\\rsaenh.dll\",host-name=\"C:\\\\Windows\\\\system32\\\\rsaenh.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7c0c1000\",to=\"0x00007ffe7c0f309c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\bcrypt.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\bcrypt.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\bcrypt.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d6b1000\",to=\"0x00007ffe7d6d610c\"}]
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\sspicli.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\sspicli.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\sspicli.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7cef1000\",to=\"0x00007ffe7cf213ec\"}]
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\userenv.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\userenv.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\userenv.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7cf31000\",to=\"0x00007ffe7cf5d1f8\"}]
")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\profapi.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\profapi.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\profapi.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7cf71000\",to=\"0x00007ffe7cf8e0a0\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\bcryptprimitives.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\bcryptprimitives.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\bcryptprimitives.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d841000\",to=\"0x00007ffe7d8c1498\"}]
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptbase.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptbase.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptbase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7c921000\",to=\"0x00007ffe7c92b038\"}]
[==========] Running 10 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 10 tests from RandTest
[ RUN      ] RandTest.IntSize
[       OK ] RandTest.IntSize (0 ms)
[ RUN      ] RandTest.LongSize
[       OK ] RandTest.LongSize (0 ms)
[ RUN      ] RandTest.Reseed
[       OK ] RandTest.Reseed (0 ms)
[ RUN      ] RandTest.DoubleBalanced
[       OK ] RandTest.DoubleBalanced (0 ms)
[ RUN      ] RandTest.DoubleSigma
[       OK ] RandTest.DoubleSigma (2 ms)
[ RUN      ] RandTest.ComplexBalanced
[       OK ] RandTest.ComplexBalanced (0 ms)
[ RUN      ] RandTest.ComplexUncorrelated
[       OK ] RandTest.ComplexUncorrelated (1 ms)
[ RUN      ] RandTest.IntEmpty
[       OK ] RandTest.IntEmpty (0 ms)
[ RUN      ] RandTest.LongEmpty
[       OK ] RandTest.LongEmpty (0 ms)
[ RUN      ] RandTest.ULongEmpty
[       OK ] RandTest.ULongEmpty (0 ms)
[----------] 10 tests from RandTest (3 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 1 test suite ran. (3 ms total)
[  PASSED  ] 10 tests.
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\kernel.appcore.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\kernel.appcore.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\kernel.appcore.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7af21000\",to=\"0x00007ffe7af3108c\"}]
~\"[Thread 9084.0x2c70 exited with code 0]\\n\"
=thread-exited,id=\"3\",group-id=\"i1\"
~\"[Thread 9084.0x2654 exited with code 0]\\n\"
=thread-exited,id=\"4\",group-id=\"i1\"
~\"[Thread 9084.0x4110 exited with code 0]\\n\"
=thread-exited,id=\"2\",group-id=\"i1\"
=thread-exited,id=\"1\",group-id=\"i1\"
~\"[Inferior 1 (process 9084) exited normally]\\n\"
=thread-group-exited,id=\"i1\",exit-code=\"0\"
*stopped,reason=\"exited-normally\"
(gdb)
")
| 2 -> (gud-gdbmi-marker-filter "=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\profapi.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\profapi.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\profapi.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7cf71000\",to=\"0x00007ffe7cf8e0a0\"}]
=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\bcryptprimitives.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\bcryptprimitives.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\bcryptprimitives.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7d841000\",to=\"0x00007ffe7d8c1498\"}]
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptbase.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptbase.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\cryptbase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7c921000\",to=\"0x00007ffe7c92b038\"}]
[==========] Running 10 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 10 tests from RandTest
[ RUN      ] RandTest.IntSize
[       OK ] RandTest.IntSize (0 ms)
[ RUN      ] RandTest.LongSize
[       OK ] RandTest.LongSize (0 ms)
[ RUN      ] RandTest.Reseed
[       OK ] RandTest.Reseed (0 ms)
[ RUN      ] RandTest.DoubleBalanced
[       OK ] RandTest.DoubleBalanced (0 ms)
[ RUN      ] RandTest.DoubleSigma
[       OK ] RandTest.DoubleSigma (2 ms)
[ RUN      ] RandTest.ComplexBalanced
[       OK ] RandTest.ComplexBalanced (0 ms)
[ RUN      ] RandTest.ComplexUncorrelated
[       OK ] RandTest.ComplexUncorrelated (1 ms)
[ RUN      ] RandTest.IntEmpty
[       OK ] RandTest.IntEmpty (0 ms)
[ RUN      ] RandTest.LongEmpty
[       OK ] RandTest.LongEmpty (0 ms)
[ RUN      ] RandTest.ULongEmpty
[       OK ] RandTest.ULongEmpty (0 ms)
[----------] 10 tests from RandTest (3 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 1 test suite ran. (3 ms total)
[  PASSED  ] 10 tests.
=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\kernel.appcore.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\kernel.appcore.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\kernel.appcore.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffe7af21000\",to=\"0x00007ffe7af3108c\"}]
~\"[Thread 9084.0x2c70 exited with code 0]\\n\"
=thread-exited,id=\"3\",group-id=\"i1\"
~\"[Thread 9084.0x2654 exited with code 0]\\n\"
=thread-exited,id=\"4\",group-id=\"i1\"
~\"[Thread 9084.0x4110 exited with code 0]\\n\"
=thread-exited,id=\"2\",group-id=\"i1\"
=thread-exited,id=\"1\",group-id=\"i1\"
~\"[Inferior 1 (process 9084) exited normally]\\n\"
=thread-group-exited,id=\"i1\",exit-code=\"0\"
*stopped,reason=\"exited-normally\"
(gdb)
")
| 2 <- gud-gdbmi-marker-filter: ""
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "~\"List of classes of commands:\\n\\n\"
~\"aliases -- User-defined aliases of other commands.\\n\"
~\"breakpoints -- Making program stop at certain points.\\n\"
~\"data -- Examining data.\\n\"
~\"files -- Specifying and examining files.\\n\"
~\"internals -- Maintenance commands.\\n\"
~\"obscure -- Obscure features.\\n\"
~\"running -- Running the program.\\n\"
~\"stack -- Examining the stack.\\n\"
~\"status -- Status inquiries.\\n\"
~\"support -- Support facilities.\\n\"
~\"text-user-interface -- TUI is the GDB text based interface.\\n\"
")
| 2 -> (gud-gdbmi-marker-filter "~\"List of classes of commands:\\n\\n\"
~\"aliases -- User-defined aliases of other commands.\\n\"
~\"breakpoints -- Making program stop at certain points.\\n\"
~\"data -- Examining data.\\n\"
~\"files -- Specifying and examining files.\\n\"
~\"internals -- Maintenance commands.\\n\"
~\"obscure -- Obscure features.\\n\"
~\"running -- Running the program.\\n\"
~\"stack -- Examining the stack.\\n\"
~\"status -- Status inquiries.\\n\"
~\"support -- Support facilities.\\n\"
~\"text-user-interface -- TUI is the GDB text based interface.\\n\"
")
| 2 <- gud-gdbmi-marker-filter: "["
1 <- gud-filter: nil
======================================================================
1 -> (gud-filter #<process gud-test_rand.exe> "~\"tracepoints -- Tracing of program execution without stopping the program.\\n\"
~\"user-defined -- User-defined commands.\\n\"
~\"\\nType \\\"help\"
~\"\\\" followed by a class name for a list of commands in that class.\\nType \\\"help all\\\" for the list of all commands.\"
~\"\\nType \\\"help\"
~\"\\\" followed by command name for full documentation.\\n\"
~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\".\\n\"
~\"Type \\\"apropos -v word\\\" for full documentation of commands related to \\\"word\\\".\\n\"
~\"Command name abbreviations are allowed if unambiguous.\\n\"
^done
(gdb)
")
| 2 -> (gud-gdbmi-marker-filter "~\"tracepoints -- Tracing of program execution without stopping the program.\\n\"
~\"user-defined -- User-defined commands.\\n\"
~\"\\nType \\\"help\"
~\"\\\" followed by a class name for a list of commands in that class.\\nType \\\"help all\\\" for the list of all commands.\"
~\"\\nType \\\"help\"
~\"\\\" followed by command name for full documentation.\\n\"
~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\".\\n\"
~\"Type \\\"apropos -v word\\\" for full documentation of commands related to \\\"word\\\".\\n\"
~\"Command name abbreviations are allowed if unambiguous.\\n\"
^done
(gdb)
")
| 2 <- gud-gdbmi-marker-filter: "[----------] Global test environment set-up.
[----------] 10 tests from RandTest
[ RUN      ] RandTest.IntSize
[       OK ] RandTest.IntSize (0 ms)
[ RUN      ] RandTest.LongSize
[       OK ] RandTest.LongSize (0 ms)
[ RUN      ] RandTest.Reseed
[       OK ] RandTest.Reseed (0 ms)
[ RUN      ] RandTest.DoubleBalanced
[       OK ] RandTest.DoubleBalanced (0 ms)
[ RUN      ] RandTest.DoubleSigma
[       OK ] RandTest.DoubleSigma (2 ms)
[ RUN      ] RandTest.ComplexBalanced
[       OK ] RandTest.ComplexBalanced (0 ms)
[ RUN      ] RandTest.ComplexUncorrelated
[       OK ] RandTest.ComplexUncorrelated (1 ms)
[ RUN      ] RandTest.IntEmpty
[       OK ] RandTest.IntEmpty (0 ms)
[ RUN      ] RandTest.LongEmpty
[       OK ] RandTest.LongEmpty (0 ms)
[ RUN      ] RandTest.ULongEmpty
[       OK ] RandTest.ULongEmpty (0 ms)
[----------] 10 tests from RandTest (3 ms total)

[----------] Global test environment tear-down
["
1 <- gud-filter: nil

[-- Attachment #3: linux-gdb-output.txt --]
[-- Type: text/plain, Size: 16449 bytes --]

======================================================================
1 -> (gud-gdbmi-marker-filter "=thread-group-added,id=\"i1\"
~\"GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2\\n\"
~\"Copyright (C) 2020 Free Software Foundation, Inc.\\n\"
~\"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\\nThis is free software: you are free to change and redistribute it.\\nThere is NO WARRANTY, to the extent permitted by law.\"
~\"\\nType \\\"show copying\\\" and \\\"show warranty\\\" for details.\\n\"
")
1 <- gud-gdbmi-marker-filter: "GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type \"show copying\" and \"show warranty\" for details.
"
======================================================================
1 -> (gud-gdbmi-marker-filter "~\"This GDB was configured as \\\"x86_64-linux-gnu\\\".\\n\"
~\"Type \\\"show configuration\\\" for configuration details.\\n\"
~\"For bug reporting instructions, please see:\\n\"
~\"<http://www.gnu.org/software/gdb/bugs/>.\\n\"
~\"Find the GDB manual and other documentation resources online at:\\n    <http://www.gnu.org/software/gdb/documentation/>.\"
~\"\\n\\n\"
~\"For help, type \\\"help\\\".\\n\"
~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\"...\\n\"
~\"Reading symbols from test_rand...\\n\"
")
1 <- gud-gdbmi-marker-filter: "This GDB was configured as \"x86_64-linux-gnu\".
Type \"show configuration\" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type \"help\".
Type \"apropos word\" to search for commands related to \"word\"...
Reading symbols from test_rand...
"
======================================================================
1 -> (gud-gdbmi-marker-filter "(gdb) 
1^done
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "2^done
(gdb) 
3^done
(gdb) 
4^done
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "5^done,files=[{file=\"/usr/include/c++/9/iostream\",fullname=\"/usr/include/c++/9/iostream\"},{file=\"/usr/include/c++/9/bits/list.tcc\",fullname=\"/usr/include/c++/9/bits/list.tcc\"},{file=\"/usr/include/c++/9/bits/allocated_ptr.h\",fullname=\"/usr/include/c++/9/bits/allocated_ptr.h\"},{file=\"/usr/include/c++/9/bits/stl_list.h\",fullname=\"/usr/include/c++/9/bits/stl_list.h\"},{file=\"/usr/include/x86_64-linux-gnu/bits/wchar2.h\",fullname=\"/usr/include/x86_64-linux-gnu/bits/wchar2.h\"},{file=\"/usr/include/c++/9/bits/stl_map.h\",fullname=\"/usr/include/c++/9/bits/stl_map.h\"},{file=\"/usr/include/c++/9/bits/stl_set.h\",fullname=\"/usr/include/c++/9/bits/stl_set.h\"},{file=\"./googletest/src/gtest-typed-test.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-typed-test.cc\"},{file=\"/usr/include/c++/9/typeinfo\",fullname=\"/usr/include/c++/9/typeinfo\"},{file=\"/usr/include/x86_64-linux-gnu/bits/unistd.h\",fullname=\"/usr/include/x86_64-linux-gnu/bits/unistd.h\"},{file=\"/usr/include/c++/9/fstream\",fullname=\"/usr/include/c++/9/fstream\"},{file=\"/usr/include/c++/9/bits/predefined_ops.h\",fullname=\"/usr/include/c++/9/bits/predefined_ops.h\"},{file=\"/usr/include/c++/9/ext/aligned_buffer.h\",fullname=\"/usr/include/c++/9/ext/aligned_buffer.h\"},{file=\"/usr/include/c++/9/bits/stl_pair.h\",fullname=\"/usr/include/c++/9/bits/stl_pair.h\"},{file=\"/usr/include/c++/9/bits/stl_function.h\",fullname=\"/usr/include/c++/9/bits/stl_function.h\"},{file=\"/usr/include/c++/9/bits/stl_tree.h\",fullname=\"/usr/include/c++/9/bits/stl_tree.h\"},{file=\"./googletest/src/gtest-matchers.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-matchers.cc\"},{file=\"./googletest/include/gtest/gtest-message.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/gtest-message.h\"},{file=\"/usr/include/c++/9/iomanip\",fullname=\"/usr/include/c++/9/iomanip\"},{file=\"/usr/include/c++/9/istream\",fullname=\"/usr/include/c++/9/istream\"},{file=\"/usr/include/c++/9/streambuf\",fullname=\"/usr/include/c++/9/streambuf\"},{file=\"./googletest/include/gtest/gtest-printers.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/gtest-printers.h\"},{file=\"/usr/include/c++/9/bits/basic_ios.h\",fullname=\"/usr/include/c++/9/bits/basic_ios.h\"},{file=\"./googletest/src/gtest-port.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-port.cc\"},{file=\"/usr/include/x86_64-linux-gnu/bits/string_fortified.h\",fullname=\"/usr/include/x86_64-linux-gnu/bits/string_fortified.h\"},{file=\"/usr/include/x86_64-linux-gnu/sys/stat.h\",fullname=\"/usr/include/x86_64-linux-gnu/sys/stat.h\"},{file=\"./googletest/src/gtest-filepath.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-filepath.cc\"},{file=\"./googletest/include/gtest/internal/gtest-filepath.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/internal/gtest-filepath.h\"},{file=\"/usr/include/c++/9/bits/stl_algobase.h\",fullname=\"/usr/include/c++/9/bits/stl_algobase.h\"},{file=\"/usr/include/c++/9/bits/vector.tcc\",fullname=\"/usr/include/c++/9/bits/vector.tcc\"},{file=\"./googletest/include/gtest/internal/gtest-param-util.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/internal/gtest-param-util.h\"},{file=\"/usr/include/c++/9/sstream\",fullname=\"/usr/include/c++/9/sstream\"},{file=\"/usr/include/c++/9/tuple\",fullname=\"/usr/include/c++/9/tuple\"},{file=\"/usr/include/string.h\",fullname=\"/usr/include/string.h\"},{file=\"/usr/include/c++/9/bits/move.h\",fullname=\"/usr/include/c++/9/bits/move.h\"},{file=\"/usr/include/c++/9/new\",fullname=\"/usr/include/c++/9/new\"},{file=\"/usr/include/c++/9/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/9/bits/stl_uninitialized.h\"},{file=\"/usr/include/c++/9/ext/alloc_traits.h\",fullname=\"/usr/include/c++/9/ext/alloc_traits.h\"},{file=\"/usr/include/c++/9/bits/ios_base.h\",fullname=\"/usr/include/c++/9/bits/ios_base.h\"},{file=\"/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h\",fullname=\"/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h\"},{file=\"/usr/include/c++/9/ext/atomicity.h\",fullname=\"/usr/include/c++/9/ext/atomicity.h\"},{f")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "ile=\"/usr/include/c++/9/bits/shared_ptr.h\",fullname=\"/usr/include/c++/9/bits/shared_ptr.h\"},{file=\"/usr/include/c++/9/ostream\",fullname=\"/usr/include/c++/9/ostream\"},{file=\"./googletest/src/gtest-printers.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-printers.cc\"},{file=\"/usr/include/c++/9/bits/char_traits.h\",fullname=\"/usr/include/c++/9/bits/char_traits.h\"},{file=\"/usr/include/c++/9/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/9/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/include/c++/9/bits/basic_string.tcc\",fullname=\"/usr/include/c++/9/bits/basic_string.tcc\"},{file=\"/usr/include/x86_64-linux-gnu/bits/stdio2.h\",fullname=\"/usr/include/x86_64-linux-gnu/bits/stdio2.h\"},{file=\"/usr/include/c++/9/bits/unique_ptr.h\",fullname=\"/usr/include/c++/9/bits/unique_ptr.h\"},{file=\"./googletest/include/gtest/internal/gtest-internal.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/internal/gtest-internal.h\"},{file=\"/usr/include/c++/9/bits/basic_string.h\",fullname=\"/usr/include/c++/9/bits/basic_string.h\"},{file=\"/usr/include/c++/9/bits/alloc_traits.h\",fullname=\"/usr/include/c++/9/bits/alloc_traits.h\"},{file=\"/usr/include/c++/9/bits/stl_construct.h\",fullname=\"/usr/include/c++/9/bits/stl_construct.h\"},{file=\"/usr/include/c++/9/bits/stl_algo.h\",fullname=\"/usr/include/c++/9/bits/stl_algo.h\"},{file=\"/usr/include/c++/9/ext/new_allocator.h\",fullname=\"/usr/include/c++/9/ext/new_allocator.h\"},{file=\"/usr/include/c++/9/bits/allocator.h\",fullname=\"/usr/include/c++/9/bits/allocator.h\"},{file=\"./googletest/include/gtest/internal/gtest-death-test-internal.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/internal/gtest-death-test-internal.h\"},{file=\"/usr/include/c++/9/bits/shared_ptr_base.h\",fullname=\"/usr/include/c++/9/bits/shared_ptr_base.h\"},{file=\"./googletest/include/gtest/gtest-matchers.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/gtest-matchers.h\"},{file=\"./googletest/include/gtest/gtest-test-part.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/gtest-test-part.h\"},{file=\"./googletest/src/gtest-test-part.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-test-part.cc\"},{file=\"./googletest/src/gtest-death-test.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-death-test.cc\"},{file=\"/usr/include/c++/9/bits/stl_iterator.h\",fullname=\"/usr/include/c++/9/bits/stl_iterator.h\"},{file=\"/usr/include/c++/9/bits/stl_vector.h\",fullname=\"/usr/include/c++/9/bits/stl_vector.h\"},{file=\"./googletest/src/gtest-internal-inl.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-internal-inl.h\"},{file=\"./googletest/src/gtest.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest.cc\"},{file=\"./googletest/include/gtest/gtest.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/gtest.h\"},{file=\"./googletest/include/gtest/internal/gtest-port.h\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/include/gtest/internal/gtest-port.h\"},{file=\"/usr/include/c++/9/bits/locale_facets.h\",fullname=\"/usr/include/c++/9/bits/locale_facets.h\"},{file=\"./googletest/src/gtest-all.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-all.cc\"}]
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "6^done,line=\"1\",file=\"./googletest/src/gtest-all.cc\",fullname=\"./obj-x86_64-linux-gnu/googletest/./googletest/src/gtest-all.cc\",macro-info=\"0\"
(gdb) 
7^done,value=\"(gdb) \"
(gdb) 
")
1 <- gud-gdbmi-marker-filter: "(gdb) "
======================================================================
1 -> (gud-gdbmi-marker-filter "8^error,msg=\"No registers.\"
(gdb) 
9^done,threads=[]
(gdb) 
10^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb) 
11^done,threads=[]
(gdb) 
12^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb) 
13^done,threads=[]
(gdb) 
14^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb) 
15^done
(gdb) 
16^done,features=[]
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "17^done
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "~\"Starting program: /mnt/c/Users/Juanjo Garcia-Ripoll/src/tensor/build-ubuntu/tests/test_rand \\n\"
=thread-group-started,id=\"i1\",pid=\"486\"
=thread-created,id=\"1\",group-id=\"i1\"
")
1 <- gud-gdbmi-marker-filter: "Starting program: /mnt/c/Users/Juanjo Garcia-Ripoll/src/tensor/build-ubuntu/tests/test_rand 
"
======================================================================
1 -> (gud-gdbmi-marker-filter "=library-loaded,id=\"/lib64/ld-linux-x86-64.so.2\",target-name=\"/lib64/ld-linux-x86-64.so.2\",host-name=\"/lib64/ld-linux-x86-64.so.2\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007fffff7b1100\",to=\"0x00007fffff7d3674\"}]
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "^running
*running,thread-id=\"all\"
(gdb) 
=library-loaded,id=\"/lib/x86_64-linux-gnu/libpthread.so.0\",target-name=\"/lib/x86_64-linux-gnu/libpthread.so.0\",host-name=\"/lib/x86_64-linux-gnu/libpthread.so.0\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007fffff794ae0\",to=\"0x00007fffff7a44d5\"}]
=library-loaded,id=\"/lib/x86_64-linux-gnu/libstdc++.so.6\",target-name=\"/lib/x86_64-linux-gnu/libstdc++.so.6\",host-name=\"/lib/x86_64-linux-gnu/libstdc++.so.6\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007fffff63e160\",to=\"0x00007fffff726452\"}]
=library-loaded,id=\"/lib/x86_64-linux-gnu/libgcc_s.so.1\",target-name=\"/lib/x86_64-linux-gnu/libgcc_s.so.1\",host-name=\"/lib/x86_64-linux-gnu/libgcc_s.so.1\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007fffff5835e0\",to=\"0x00007fffff594045\"}]
=library-loaded,id=\"/lib/x86_64-linux-gnu/libc.so.6\",target-name=\"/lib/x86_64-linux-gnu/libc.so.6\",host-name=\"/lib/x86_64-linux-gnu/libc.so.6\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007fffff3a5630\",to=\"0x00007fffff51a20d\"}]
=library-loaded,id=\"/lib/x86_64-linux-gnu/libm.so.6\",target-name=\"/lib/x86_64-linux-gnu/libm.so.6\",host-name=\"/lib/x86_64-linux-gnu/libm.so.6\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007fffff2403c0\",to=\"0x00007fffff2e6f18\"}]
~\"[Thread debugging using libthread_db enabled]\\n\"
~\"Using host libthread_db library \\\"/lib/x86_64-linux-gnu/libthread_db.so.1\\\".\\n\"
")
1 <- gud-gdbmi-marker-filter: "[Thread debugging using libthread_db enabled]
Using host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".
"
======================================================================
1 -> (gud-gdbmi-marker-filter "~\"[Inferior 1 (process 486) exited normally]\\n\"
=thread-exited,id=\"1\",group-id=\"i1\"
=thread-group-exited,id=\"i1\",exit-code=\"0\"
*stopped,reason=\"exited-normally\"
(gdb) 
")
1 <- gud-gdbmi-marker-filter: "[Inferior 1 (process 486) exited normally]
(gdb) "
======================================================================
1 -> (gud-gdbmi-marker-filter "18^error,msg=\"Invalid thread id: 0\"
(gdb) 
19^error,msg=\"No registers.\"
(gdb) 
20^done,threads=[]
(gdb) 
21^done,BreakpointTable={nr_rows=\"0\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[]}
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""
======================================================================
1 -> (gud-gdbmi-marker-filter "22^done
(gdb) 
")
1 <- gud-gdbmi-marker-filter: ""

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 14:40                   ` Juan José García-Ripoll
@ 2022-03-15 16:47                     ` Eli Zaretskii
  2022-03-15 17:38                       ` Juan José García-Ripoll
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-15 16:47 UTC (permalink / raw)
  To: Juan José García-Ripoll; +Cc: emacs-devel

> From: Juan José García-Ripoll
>  <juanjose.garciaripoll@gmail.com>
> Date: Tue, 15 Mar 2022 15:40:57 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > You didn't answer my question about where you downloaded this GDB.  Is
> > this the "usual" MSYS2 GDB, and if so, is it linked against UCRT or
> > the "normal" MSVCRT runtime?
> 
> I have used both the UCRT and MSVCRT runtimes, provided in
> c:/msys64/ucrt64/bin/gdb.exe and c:/msys64/mingw64/bin/gdb.exe They are
> downloaded from the MSYS2 terminal using pacman, so I assume they are
> from the standard repositories.

And they both exhibit the same problematic behavior?

But actually the problematic behavior is of the program you are
debugging, right?  Is that one linked against UCRT or MSVCRT?



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 15:12                   ` Juan José García-Ripoll
@ 2022-03-15 16:53                     ` Eli Zaretskii
  0 siblings, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-15 16:53 UTC (permalink / raw)
  To: Juan José García-Ripoll; +Cc: emacs-devel

> From: Juan José García-Ripoll
>  <juanjose.garciaripoll@gmail.com>
> Date: Tue, 15 Mar 2022 16:12:57 +0100
> 
> I think I have identified the problem. The code in Emacs assumes that
> all process output is going to be prefixed by @. This is only the case
> for truely asynchronous debugging (see
> https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Stream-Records.html#GDB_002fMI-Stream-Records).
> 
> There seems to be code in gdb-mi.el for transforming the debugging
> experience into a remote one, such as gdb-inferior-io--init-proc, which
> aims to redirect the subprocess to a tty, but this seems to have no
> effect on Windows.
> 
> Indeed, if once sets a tracepoint around gud-filter and
> gud-gdbmi-marker-filter, the output is very different on Linux and on
> Windows (see text files attached). Linux has successfully redirected the
> output of the debugged subprocess, while the MSYS2 process gets the
> output of the process mixed with GDB output.

This GDB feature doesn't work on MS-Windows, only on Posix systems.
But my problem is to understand how come my own debugging using
gdb-mi.el on MS-Windows generally works regardless of this issue with
separating the I/O of the debuggee.  I'm being slowly drawn to the
conclusion that the solution of that puzzle is in what your program
that you are debugging does.  E.g., do you see something similar if
you debug any other console MinGW program with "M-x gdb"?

> I am a bit stuck. I assume I should simply use the old gud-gdb interface.

That's a possibility, yes.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 16:47                     ` Eli Zaretskii
@ 2022-03-15 17:38                       ` Juan José García-Ripoll
  2022-03-15 17:56                         ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Juan José García-Ripoll @ 2022-03-15 17:38 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:
>> From: Juan José García-Ripoll
>> I have used both the UCRT and MSVCRT runtimes, provided in
>> c:/msys64/ucrt64/bin/gdb.exe and c:/msys64/mingw64/bin/gdb.exe They are
>> downloaded from the MSYS2 terminal using pacman, so I assume they are
>> from the standard repositories.
>
> And they both exhibit the same problematic behavior?
>
> But actually the problematic behavior is of the program you are
> debugging, right?  Is that one linked against UCRT or MSVCRT?

I have tried both. I actually developed an Emacs module to select
different toolchains, using cmake and g++. My program has been therefore
built and debugged using both UCRT (both gdb and my code) and MSVCRT
(both gdb and my code) on different Emacs sessions and build
directories, and both exhibited this issue.

I am puzzled because this is just a C++ numerics library and I am really
not invoking anything fancy: just standard I/O from the C++ STL library
and Google Test (which also seems to use standard I/O). Nevertheless, I
will try again during the weekend with smaller standalone C and C++
programs, just to compare.

Best,

-- 
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: gdb fails to flush output (msys2)
  2022-03-15 17:38                       ` Juan José García-Ripoll
@ 2022-03-15 17:56                         ` Eli Zaretskii
  0 siblings, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2022-03-15 17:56 UTC (permalink / raw)
  To: Juan José García-Ripoll; +Cc: emacs-devel

> From: Juan José García-Ripoll
>  <juanjose.garciaripoll@gmail.com>
> Date: Tue, 15 Mar 2022 18:38:59 +0100
> 
> I am puzzled because this is just a C++ numerics library and I am really
> not invoking anything fancy: just standard I/O from the C++ STL library
> and Google Test (which also seems to use standard I/O). Nevertheless, I
> will try again during the weekend with smaller standalone C and C++
> programs, just to compare.

Thanks.



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-03-15 17:56 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-14 11:18 gdb fails to flush output (msys2) Juan José García-Ripoll
2022-03-14 13:33 ` Eli Zaretskii
2022-03-14 17:55   ` Juan José García-Ripoll
2022-03-14 18:23     ` Eli Zaretskii
2022-03-14 18:40       ` Eli Zaretskii
2022-03-15  9:58         ` Juan José García-Ripoll
2022-03-15 11:48           ` Jostein Kjønigsen
2022-03-15 13:24             ` Juan José García-Ripoll
2022-03-15 13:33               ` Juan José García-Ripoll
2022-03-15 14:34                 ` Eli Zaretskii
2022-03-15 14:40                   ` Juan José García-Ripoll
2022-03-15 16:47                     ` Eli Zaretskii
2022-03-15 17:38                       ` Juan José García-Ripoll
2022-03-15 17:56                         ` Eli Zaretskii
2022-03-15 15:12                   ` Juan José García-Ripoll
2022-03-15 16:53                     ` Eli Zaretskii
2022-03-15 14:25             ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.