如何在日志文件中包含GDB命令?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在日志文件中包含GDB命令?相关的知识,希望对你有一定的参考价值。
我在要执行的文件中有一些gdb命令。我还希望命令运行和输出记录到文件中。
我在名为gdb.in
的文件中编写了以下gdb脚本。
set logging file gdb.out
set logging on
echo hi
printf "bye
"
quit
但是,如果我执行此gdb脚本,我只能看到记录到gdb.out
的输出。我没有看到执行的命令。
$ gdb -x gdb.in
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6)
Copyright (C) 2010 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
hi
bye
$ cat gdb.out
hi
bye
据我所知,几年前,我找到了记录命令的方法。以前的每个命令都以+
-sign作为前缀出现在日志文件中。例如,几年前我就能得到这样的输出。
+ echo hi
hi
+ printf "bye
"
bye
+ quit
但是我无法回想起我做了什么来获得这样的输出。搜索网络也没有帮助我。我在How to dump the entire GDB session to a file, including commands I type and their output?遇到了这个问题,但那里的答案没有捕获日志文件中执行的命令。
答案
这是GDB feature request的主题,至少12岁:-(
目前无法实现这一目标。您可以使用script
来记录整个GDB会话,但这有一个明显的缺点,即还记录各种屏幕控制“垃圾”字符。
另一答案
set trace-commands on:在执行命令之前在屏幕上回显该命令。将此命令与日志记录一起使用以将命令写入文件。
以上是关于如何在日志文件中包含GDB命令?的主要内容,如果未能解决你的问题,请参考以下文章