GDB:检查智能打印值的内容

gdb : examining whatis to intelligently print values

本文关键字:打印 检查 智能 GDB      更新时间:2023-10-16

我想写一个gdb函数,根据它的参数类型打印一些东西的值,比如:

define psmart
  if (whatis $arg0) =~ vector
    pvector   // stl-views
  else if (it's a pointer)
    p*
  else
    p
  end
end

我目前无法以某种方式检查gdb函数内的输出。请告诉我如何做到这一点(或提供更多功能/控制的替代工具)。

请告诉我如何做到这一点(或替代工具提供更多)电力/控制)

也许你根本不应该写这个gdb函数。相反,在Python中使用gdb漂亮打印机。一旦您配置了它,print命令将检测STL容器,而无需您的任何努力,并以更易于人类阅读的形式输出它们,如 STL -views所做的。