我不太喜欢unix / linux,我正在使用带有sh,tcsh外壳的rhat linux。 我想要做的是通过破坏类的对象的默认值来调试其生命周期,复制c-tor,d-tor和operator =;。移动操作没有由编译器或我定义。我中断了这些功能,并打印了几行,还打印了回溯
br /project/src/some_file.c:408
commands
silent
printf "<%p> D E F A U L T c-tor bt:\n", this
bt
cont
end
问题是此类的对象很多,所以有很多输出,没有什么可以帮助我禁用到终端的输出,所以我只想在文件中查看gdb输出,而不是在shell中查看。使用sh或tcsh是否可以实现? -我无法真正影响环境并使用其他调试器或外壳程序。我想禁用gdb的任何输出并将进程调试到shell的原因是因为我认为它会减慢gdb和调试进程的执行速度,这会破坏已调试应用程序的行为。 使用gdb 8.1。我尝试了gdb的日志记录选项,通过
重定向输出 run > somefile
我试图像这样运行gdb
gdb -p 1000 -x breakpoint.txt | tee somefile.txt
非常感谢!
答案 0 :(得分:0)
此链接具有用于记录的各种选项
http://sourceware.org/gdb/onlinedocs/gdb/Logging-Output.html
简单的是
set logging file file
更改当前日志文件的名称。缺省日志文件是gdb.txt。
然后
set logging on
启用日志记录。