Re: gdb.execute and redirect
Stefan Puiu via Gdb <[email protected]> Wed, 18 Feb 2026 13:05:57 +0200
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CACKs7VCN1rkQr8U+chG4jA4gTkC7hGyz3yvbu4tx=W2ziByoKQ@mail.gmail.com> |
On Fri, Feb 13, 2026 at 11:29 PM Paul Koning via Gdb <[email protected]> wrote: > > I noticed the other day that logging redirect is not honored by gdb.execute, at least not in GDB 8.2 which is what came with my OS kit. > > I can work around this by doing something like this: > > s = gdb.execute(cmd, False, True) > print (s) > > but it's surprising that this would be needed. Is it intentional? Is it fixed in a more recent release? I have gdb 14.2 built with yocto on x86-64, running on a custom board, and even the above workaround isn't working: # gdb --version GNU gdb (GDB) 14.2 (gdb) python res = gdb.execute("pipe info files | grep '.text.*libsmth'", False, True) print("Done execute") print("Now res is %s" %res) 0x00007f6b6793f760 - 0x00007f6b6b148ed1 is .text in /path/to/libsmth.so.1 Done execute Now res is On the other hand, the workaround seems to work on gdb 15 from Ubuntu 24.04, in an x86-64 VMWare VM: stefan@stefpuiu-linvm:~/git/bb/me/code-tests/interviuri$ gdb ./int_to_string1 GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> [...] (gdb) python >res = gdb.execute("info shared", False, True) >print("Done execute") print("Now res is %s" %res) >end Done execute Now res is No shared libraries loaded at this time. On the latter, I get the same result if using: gdb.execute("info shared", to_string=True) Regards, Stefan. > > paul >