gpt4 book ai didi

c - 编写重复的 gdb 作业脚本

转载 作者:太空狗 更新时间:2023-10-29 14:49:09 26 4
gpt4 key购买 nike

我想在 gdb 中对一堆不同的文件做同样的重复性工作。即,

bash$ gdb ./file1

... gdb starts up ...

gdb$ b *0xdeadbeef
gdb$ r < file2

... some output prints ...

gdb$ x/3a $esp

... some addresses print ...

有什么方法可以编写脚本吗?通过脚本启动 gdb 很容易,但是将命令传递给 gdb 并获取它们的输出对我来说并不明显。我会使用重定向吗?

最佳答案

您可以只使用 shell 技巧按顺序传递多个 gdb 命令,换行符分隔到 gdb 的标准输入,供其使用。例如对于单个文件只需执行

printf '%s\n' 'b *0xdeadbeef' 'r < file2' 'x/3a $esp' | gdb ./file1

对于多个输入文件,一次将一个文件提供给gdb,从名称file* 开始。根据您的实际文件名使用适当的 glob 表达式

for file in file*; do
printf '%s\n' 'b *0xdeadbeef' 'r < file2' 'x/3a $esp' | gdb "$file"
done

关于c - 编写重复的 gdb 作业脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58417264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com