コア ファイルを使用してデバッグしているため、何かを実行するアクティブなプロセスがありません。
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コマンドでそのようなことは可能ですか?
そうに違いないと思いますが、ドキュメントを検索していて、それについての言及や例が見つかりません。