Wert einer Variablen mit WinDbg
Frage:
Anzeigen " Wert einer C++ iterator mit WinDbg, illustriert unten:
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()))
{
Hinweis:
Mit ?? bewerten Sie C++ expression-Befehl, der Folgendes anzeigt:
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> >
- Kann ein weiterer Befehl anzeigen/drucken der Wert
*i
- bitte korrigieren Sie mich, wenn ich falsch bin,
InformationsquelleAutor Aaron | 2009-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Wird rekursiv dump der iterator. Eines der Mitglieder sollte die Informationen, die Sie suchen. Die ausführliche, aber effektiv.
+0x000 _Buf
InformationsquelleAutor i_am_jorf
Die Schwierigkeit ist, dass
*i
ruft eine Funktion aufrufen, umoperator*
auf den iterator. Die Zeichenfolge, die Sie wollen, ist wahrscheinlich, wird darauf durch_Myptr
bei0x009c6198
.InformationsquelleAutor Eclipse