首页
社区
课程
招聘
[求助]请教WinDbg使用!std_map的例子?
发表于: 2009-10-9 21:31 8518

[求助]请教WinDbg使用!std_map的例子?

2009-10-9 21:31
8518
代码:
#include <map>

using namespace std;

int main()
{
    map<int, const char *> m;
    m.insert(pair<int, const char*>(10, "This is 10"));
    m.insert(pair<int, const char*>(1, "This is 1"));
    m.insert(pair<int, const char*>(11, "This is 11"));
    m.insert(pair<int, const char*>(15, "This is 15"));

    return 0;
}

我按照网上唯一介绍的方法:
1. dt -ve test!std::pair*
显示:
0:000> dt -ve test!std::pair*
Enumerating symbols matching test!std::pair*
Address Size Symbol
008 test!std::pair<int const ,char const *>
008 test!std::pair<int const ,char const *>
008 test!std::pair<int,char const *>
010 test!std::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,bool>
010 test!std::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,bool>
000 test!std::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator>
000 test!std::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::const_iterator,std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::const_iterator>
008 test!std::pair<int,char const *>
00401820 013 test!std::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,bool>::~pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,bool>
00405a80 026 test!std::pair<int const ,char const *>::pair<int const ,char const *><int,char const *>
00401e50 025 test!std::pair<int,char const *>::pair<int,char const *>
00402df0 027 test!std::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,bool>::pair<std::_Tree<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::iterator,bool>


2. 网上用这条命令显示所有值:!std_map 00000000`0019fd48 "testcreatedc!std::pair<int,char const *>"
其中,00000000是怎么得到的?0019fd48 又是从何处得到呢?
我应该将这两个值替换成什么呢?

网上资料地址:http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.windbg&tid=c1e5d635-e9a1-4196-919c-08dfced447a4&cat=&lang=&cr=&sloc=&p=1

请高人指点,谢谢!!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶起,寻找高人!
2009-10-10 18:10
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
!std_map 0012fec0 test!std::pair<int,char const *>

0012fec0  是std::map 变量地址。 后面去掉引号即可
2009-10-11 12:20
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
首先十分感谢您的回复!
可是,这样会给出如下错误信息:
0:000> dt m
Local var @ 0x12ff44 Type std::map<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> > >
+0x000 _Myfirstiter : (null)
+0x004 comp : std::less<int>
+0x008 _Alnod : std::allocator<std::_Tree_nod<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::_Node>
+0x00c _Alptr : std::allocator<std::_Tree_nod<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::_Node *>
+0x010 _Alval : std::allocator<std::pair<int const ,char const *> >
+0x014 _Myhead : 0x00394df0 std::_Tree_nod<std::_Tmap_traits<int,char const *,std::less<int>,std::allocator<std::pair<int const ,char const *> >,0> >::_Node
+0x018 _Mysize : 3
0:000> !std_map 0012ff44 test!std::pair<int,char const *>
ReadMemory error for address 35c0b9ec
ReadMemory error for address 35c0b9f4
std::map @ 0012ff44 - empty
2009-10-11 19:57
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请问wdbxm,你用的是VC6么?
通过查资料,似乎WinDbg的std_map不支持VC8或者VC9...

另外,!stl目前不支持VC10 beta1,逼得我只能用回VC9.
2009-10-11 20:14
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
请问wdbxm,你用的是VC6么?
通过查资料,似乎WinDbg的std_map不支持VC8或者VC9...

另外,!stl目前不支持VC10 beta1,逼得我只能用回VC9.
2009-10-11 20:14
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
顶起来,寻求帮助!
2009-10-13 10:54
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
顶起来,寻找高手。
2009-11-1 16:49
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我用的vc 8哈。windbg是最新版本
2009-11-10 13:06
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哦,谢谢!
我没有VC8,我在VC9和VC10下测试都失败了!
2009-12-26 23:56
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
还是没有搞定。
一直在期待WinDbg的新版本,可惜,快一年了,也不见更新...
2010-2-3 23:20
0
游客
登录 | 注册 方可回帖
返回
//