我想写一个gdb函数来打印某些东西的值,具体取决于它的参数类型,如:
define psmart
if (whatis $arg0) =~ vector
pvector // stl-views
else if (it's a pointer)
p*
else
p
end
end
我目前无法以某种方式检查gdb函数中whatis的输出。请指出我如何做到这一点(或提供更多电源/控制的替代工具)。
答案 0 :(得分:2)
请指出我如何做到这一点(或提供更多的替代工具) 电源/控制)
也许你根本不应该写这个gdb函数。相反,在Python中使用gdb pretty-printers。配置完成后,print
命令将检测STL容器,无需您的任何努力,并以更加人性化的形式输出它们,如 stl-views 那样。