在用户定义的命令期间禁用 GDB 输出

Kud*_*udi 3 debugging gdb blackfin

是否可以在用户定义的命令期间禁用 GDB 的输出?我有以下命令:

define stepi_to
    if $argc != 1
        printf "usage: stepi_to <address>\n"
    else
        while $pc != $arg0
            stepi
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

以下是该命令的示例:

(gdb) stepi
0xef000004 in ?? ()
(gdb) stepi_to 0xef000014
0xef000008 in ?? ()
0xef00000c in ?? ()
0xef000010 in ?? ()
0xef000014 in ?? ()
Run Code Online (Sandbox Code Playgroud)

我对输出“in ?? ()”不感兴趣。

我尝试通过“设置日志重定向”来重定向输出,但这不起作用。

硬件断点(有缺陷)和 Python 脚本不是一个选项,因为它是一个带有旧 GDB 的嵌入式系统(blackfin)。

Tom*_*mey 6

对的,这是可能的。我认为你只需要设置其他“设置日志记录”参数。我特别认为你可能想要:

(gdb) set logging file /dev/null
(gdb) set logging redirect on
(gdb) set logging on
Run Code Online (Sandbox Code Playgroud)