【问题标题】:how do I call dbx'es own print function from a pretty print function for dbx如何从 dbx 的漂亮打印函数中调用 dbx 自己的打印函数
【发布时间】:2012-02-03 08:45:47
【问题描述】:
我正在尝试为 solaris 上的 dbx 编写一个漂亮的打印路由以漂亮地打印地图。现在地图可能包含(一种)任意类型的元素。我不想知道它们是什么或处理它。我想让 dbx 自己弄清楚如何打印它们。我只想以 [key,value] 格式迭代和打印键和值。但我不知道如何从 db_pretty_print 回调 dbx'es 打印例程。有任何想法吗 ?谢谢。
【问题讨论】:
标签:
c++
debugging
pretty-print
dbx
【解决方案1】:
我不认为你可以与 db_pretty_print 集成来做你想做的事。我建议您在程序中编写一个函数,该函数可以返回一个字符串,其中包含您要打印的对象的十六进制地址。在 dbx 中,您可以编写一个调用“枚举器”函数的 shell 函数,然后 shell 函数可以拆分字符串,遍历地址,并应用 dbx 打印函数。我假设您将告诉 dbx 使用 C++ RTTI 信息为打印命令动态选择正确的类型。对于 C 或 Fortran 程序,我不知道如何让 dbx 动态选择正确的打印类型。