You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

GDB日志文件存储位置咨询及未找到日志文件的疑问

GDB日志文件存储位置及找不到的解决办法

Hey,我来帮你理清这个问题~

默认存储位置

首先说GDB日志的默认位置:如果你用set logging on开启日志但没指定路径,GDB会把日志文件(默认叫gdb.txt)存在你启动GDB时所在的工作目录,而不是你的用户主目录/home/shirish——除非你当时就是在这个目录下启动的GDB。

举个例子:要是你在/tmp里启动GDB调试程序,那默认的gdb.txt就乖乖待在/tmp里,不会跑到你的主目录去。

找不到日志的解决办法

你说在/home/shirish下找不到日志,十有八九是启动GDB的目录不对。这里有两个简单的解决思路:

1. 先切换目录再启动GDB

在终端里先跳转到你想要存日志的目录:

cd /home/shirish

然后再启动GDB,开启日志后,文件就会生成在这个目录下了。

2. 开启日志时直接指定完整路径

不用切换目录,在GDB里直接给日志文件指定完整路径就行,比如:

set logging file /home/shirish/my_gdb_log.txt
set logging on

这样日志就会精准写入你指定的位置,再也不用到处找了。

顺带说下你提到的“GDB为何不支持别名”的疑问

其实GDB是支持自定义别名的哦!你可以用define命令自己造别名,比如想把backtrace(栈回溯)简化成短一点的命令,或者加默认参数:

define bt
  backtrace 10  # 只显示前10层栈帧
end

要是想让这个别名每次启动GDB都生效,用save commands ~/.gdbinit把它保存到GDB的初始化文件里就行。之前如果尝试别名没成功,可能是写法有问题,可以检查下命令定义的语法~


内容的提问来源于stack exchange,提问作者shirish

火山引擎 最新活动