【GDB】 command 命令

GDB command 命令

语法

command 命令是一个很好用的调试命令,它配合断点使用,可以在指定的断点执行预先设置的命令

其语法为:command bread_id,这样会提示你输入你要执行的命令,以 end 结束。这个 bread_id 就是用 info b 打印出的结果,其实就是当前已经设置的断点序号。

.gdbinit 文件中有如下内容

layout src

b main
b binary_search if target == 5

# 断点 1 触发执行的命令
command 1
i locals # 显示局部变量
i args # 显示参数
end

# 断点 2 触发执行的命令
comm 2
i locals # 显示局部变量
i args # 显示参数
end

# 自定义一个 print-tyustli 命令
define print-tyustli
    echo hello, world\n
end

# 自定义命令 print-tyustli 的帮助文档
document print-tyustli
    usage: print-list LIST NODE_TYPE NEXT_FIELD [COUNT]
    打印 tyustli

    data:   2023-09-27
    author: tyustli
end

上面设置了两个断点 b mainb binary_search if target == 5

在断点 1 设置了命令

command 1
i locals
i args
end

在断点 2 设置了命令

comm 2
i locals
i args
end

2 个断点都加了 command 命令。 当断点被触发时,这些命令会被执行,这样的好处是不需要手动敲 c 来将程序继续执行下去,方便调试。

示例

【GDB】 command 命令_第1张图片
【GDB】 command 命令_第2张图片

参考

https://blog.csdn.net/tianyexing2008/article/details/129673247

你可能感兴趣的:(#,qemu-基础篇,GDB,command,命令)