使用WinDbg的变量值

Aar*_*ron 7 c++ winapi windbg

题:

如何显示 a的C++ 迭代使用WinDbg的,示出如下:

for (vector<string>::iterator i = args.begin(); i != args.end(); i++)
//omitted
//for instance:
} else if (*i == "-i") {//attempting to display the value of *i
        ++i;
        if (!::PathFileExistsA(i->c_str()))
        {
Run Code Online (Sandbox Code Playgroud)

注意:

使用?? 评估C++表达式命令,它显示以下内容:

0:000> ?? i

class std::_Vector_iterator<std::basic_string<char,
std::char_traits<char>,
std::allocator<char> >,
std::allocator<std::basic_string<char,
std::char_traits<char>,
std::allocator<char> > > >

   +0x000 _Mycont          : 0x0012ff40 std::_Container_base_secure
   +0x004 _Mynextiter      : (null) 
   +0x008 _Myptr           : 0x009c6198 

std::basic_string<char,std::char_traits<char>,std::allocator<char> >
Run Code Online (Sandbox Code Playgroud)
  • 另一个命令可以显示/打印*i- 如果我错了,请纠正我

i_a*_*orf 9

尝试:

dt -r i
Run Code Online (Sandbox Code Playgroud)

哪个会以递归方式转储迭代器.其中一位成员应该是您寻求的信息.详细,但有效.