Как я могу напечатать данные, содержащиеся в карте C++ при отладке с использованием DBX
Я хочу знать содержимое карты при отладке программы на С ++. Я использую командную строку 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 */
}
}
}
Спасибо
Алок Кр.
1 ответ
Вам нужно написать функцию ksh для красивой карты печати, вот пример:
поставить следующую строку в.dbxrc
source / ksh_STL_map
в dbx используйте ppp для вызова функции ksh, которая определена в ksh_STL_map:
(dbx) ppp k
k = 2 элемента {343, 0x301f8; 565, 0x30208}
Я попытался опубликовать содержимое ksh_STL_map здесь, но этот формат редактора испортит содержимое, лучше, если вы отправите свою электронную почту, тогда я могу отправить ksh_STL_map непосредственно вам.