我有一个核心文件调试,所以我必须要在其中运行任何东西没有主动的过程。
我用gdb用户定义的命令来检查一束从核心文件的数据,并尝试使用简化用户定义的命令的处理。
不过,我不能找到一种方法,使用户定义的命令返回可在其他命令中使用的值。
例如:
(注意,“返回”行注释)
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命令?
我觉得它一定是的,但我一直在寻找的文件,无法找到它的提及,或任何例子。