在使用DBX进行调试时,如何打印C ++ Map包含的数据

时间:2012-03-27 06:19:09

标签: map dbx

我想在调试c ++程序时知道Map的内容。 我正在使用命令行dbx。

我有指向地图的指针。

有没有办法可以打印数据。

-

编辑: p * dataMap会给我这个::

 p *dataMap
*dataMap = {
    __t = {
        __buffer_size   = 32U
        __buffer_list   = {
            __data_ = 0x3ba2b8
        }
        __free_list     = (nil)
        __next_avail    = 0x474660
        __last          = 0x474840
        __header        = 0x3b97b8
        __node_count    = 76U
        __insert_always = false
        __key_compare   = {
/* try using "print -r" to see any inherited members */
        }
    }
}

由于

Alok Kr。

1 个答案:

答案 0 :(得分:0)

你需要写一个ksh函数到漂亮的打印地图,这是一个例子:

将以下行放在.dbxrc

source / ksh_STL_map

在dbx中,使用ppp调用ksh_STL_map中定义的ksh函数:

(dbx)ppp k

k = 2 elems {343,0x301f8; 565,0x30208}

我试图在这里发布ksh_STL_map的内容,但是这种编辑器格式会弄乱内容,最好发布你的电子邮件,然后我就可以直接发送给你了ksh_STL_map。