我正在使用核心文件进行调试,所以我没有运行任何东西的活动进程。
我正在使用 gdb 用户定义的命令来检查核心文件中的一堆数据,并尝试使用用户定义的命令来简化该过程。
但是,我找不到使用户定义的命令返回可用于其他命令的值的方法。
例如:(
注意“return”行的注释)
define dump_linked_list
set $node = global_list->head
set $count = 1
while $node != 0
printf "%p -->", $node
set $node = $node->next
set $count = $count + 1
end
return $count ## GDB doesn't understand this return
end
理想情况下,我的 dump_linked_list 命令将返回在列表中找到的节点数,以便可以在另一个定义的命令中使用它:
define higher_function
set $total_nodes = dump_linked_list
printf "Total Nodes is %d\n", $total_nodes
end
在 gdb 命令中是否可能发生这样的事情?
我觉得一定是这样,但我一直在搜索文档,但找不到提及它或任何示例。