1

我正在尝试在 solaris 上为 dbx 编写一个漂亮的打印路由来漂亮地打印地图。现在地图可能包含(一种)任意类型的元素。我不想知道它们是什么或处理它。我想让 dbx 自己弄清楚如何打印它们。我只想以 [key,value] 格式迭代和打印键和值。但我不知道如何从 db_pretty_print 回调 dbx'es 打印例程。有任何想法吗 ?谢谢。

4

1 回答 1

1

我不认为你可以与 db_pretty_print 集成来做你想做的事。我建议您在程序中编写一个函数,该函数可以返回一个字符串,其中包含您要打印的对象的十六进制地址。在 dbx 中,您可以编写一个调用“枚举器”函数的 shell 函数,然后 shell 函数可以拆分字符串,遍历地址,并应用 dbx 打印函数。我假设您将告诉 dbx 使用 C++ RTTI 信息为打印命令动态选择正确的类型。对于 C 或 Fortran 程序,我不知道如何让 dbx 动态选择正确的打印类型。

于 2012-01-10T21:22:31.030 回答