Le débogage de code C++ impliquant l'utilisation de: vecteur, string, STL

Je suis C++ débutant. Quand j'ai essayer de déboguer du code C++ à l'aide de constructions suivantes comme string, vector de certains types natifs, STL, etc, le débogage devient fastidieux. J'utilise MS Visual Studio 2010/Visual C++ 2010 Express.

par exemple

-- Lors de l'utilisation chaîne comme ci-dessous:

string str;

getline(cin, str);

for(i=0; i<str.size();i++)

Regarder la fenêtre n'affiche pas les valeurs pour les str[i]. Il dit surchargé l'opérateur n'a pas trouvé. J'ai manuellement l'effondrement de l'ensemble de la chaîne de la variable str et de voir le char elem à l'index, ce qui devient lourd.

-- Lors de l'utilisation de vecteurs ci-dessous, même problème. Si je mets la variable v1[k] dans la fenêtre espion même erreur.

vector<int> v1(100);


for(int k=0;k<100;k++)
{
    v1.push_back(k);
}

, A tenté à l'aide de simples STL itérateurs comme elle.begin() , c'.fin() et les algorithmes comme sort(), reverse() , je ne pouvais pas débogage à l'intérieur de ces fonctions par pas à pas, ou ne pourrait pas définir un point de rupture dans ces.(Je sais qu'ils ont d'être à l'intérieur de la STL ou de certaines de ces bibliothèque standard, ils seraient assurés d'être exempt de bogues, mais on peut encore les utiliser correctement en passant quelque chose d'incorrect/incorrect)

Venant de C l'utilisation de la langue de nombreuses années, C++, je trouve ce manque de "debug" capacité , ou de certaines restrictions en ce que , douloureux, tandis que j'essaie de comprendre de gros morceaux de code C++ écrit par quelqu'un d'autre, au travail.

Mes questions -

Quels sont les moyens efficaces de débogage de code de travail pour comprendre ses fonctionnalités tout en utilisant les expressions idiomatiques comme dans l'étape, des points d'arrêt, regardez point, regarder windows. Est tout particulier débogueur mieux/pire que les autres.(Comme, disons, gdb étant préférable) ou avez-vous des astuces/conseils pour l'aide de débogage.

En général comment analyser un code C++ pour comprendre son fonctionnement?

  • Je me demande ce qui est si hors-sujet que quelqu'un a voté pour fermer!
  • J'ai voté pour fermer parce que demander "ce qui est efficace", "qu'est-ce débogueur est mieux/pire que l'autre", et, essentiellement, le reste de vos questions sont totalement subjectives.
  • Les principales questions n'est pas que, si vous voyez.
  • Quoi de mal à demander des moyens efficaces pour déboguer l'utilisation de la STL? C'est un très important (et objectif) question!
InformationsquelleAutor goldenmean | 2011-09-24