我想编写一个 gdb 函数来根据参数的类型打印某些东西的值,例如:
define psmart
if (whatis $arg0) =~ vector
pvector // stl-views
else if (it's a pointer)
p*
else
p
end
end
我目前无法以某种方式检查 gdb 函数中 whatis 的输出。请指出如何做到这一点(或提供更多权力/控制的替代工具)。
最佳答案
Please point me how one can do this (or alternate tools that give more power/control)
也许你根本不应该写这个 gdb 函数。相反,使用 gdb pretty-printers在 Python 中。配置完成后,print
命令将检测 STL 容器,无需您进行任何操作,并像 STL-views 那样以更易于阅读的形式输出它们。
关于c++ - gdb : examining whatis to intelligently print values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7793938/