2011-06-22 2 views
0

Je suis nouveau sur Visual Studio 2005 et j'essaie de comprendre. Je l'utilise pour compiler et déboguer une application appelée bibliothèque AAM (que je n'ai pas écrite) qui utilise OpenCV 1.0. J'ai compilé le logiciel et maintenant je reçois une erreur d'exécution.débogage openCV dans Visual Studio 2005

Pour comprendre la raison de l'erreur (je connais le numéro de ligne et le nom de fichier qui génère l'erreur, puisque l'erreur d'exécution me dit) je veux parcourir le code dans les quelques lignes avant l'erreur. L'erreur est dans un fichier openCV appelé opencv/cv/src/cvshapedescr.cpp. Pour déboguer, j'ai compris que je peux franchir le début du programme en utilisant F11 ou F10 mais cela prend une éternité pour atteindre l'erreur. Y a-t-il un moyen d'aller directement à l'erreur? J'essaie de mettre un point d'arrêt dans le fichier openCV, mais cela ne fait pas partie de l'espace de travail sur lequel je travaille, et cela ne semble donc pas avoir d'effet.

+0

OpenCV est déjà sur la version 2.2. La version 1.0 est ancienne et ne devrait pas être utilisée. Utilisez la version 2.0 si vous le pouvez, comme indiqué sur la page d'accueil d'aam-library: http://code.google.com/p/aam-library/ – karlphillip

Répondre

1

Placez un point d'arrêt quelques lignes avant l'erreur ou utilisez run to cursor. Il n'y a pas de fonction magique "10 lignes avant ce point d'arrêt". (Intellitrace peut faire cela pour le code managé mais c'est un jeu de balle complètement différent)

Notez également que le débogage simultané a été beaucoup amélioré dans VC2008, vous pouvez envisager d'utiliser un compilateur plus récent, tel que VC2008 ou VC2010.

+0

Salut, Merci beaucoup pour votre réponse. Voici ce que j'ai essayé: je cours à partir de la ligne de commande: > devenv/debugexe buildd 0 -t -p 3 ../image jpg pts haarcascade_frontalface_alt2.xml modèle1 ("buildd -t 0 -p 3 ../image jpg pts haarcascade_frontalface_alt2.xml model1 "est ce qui génère mon erreur) Cela ouvre une nouvelle instance de VC2005 et je passe en revue le code en utilisant F11. Mais cela prend une éternité pour arriver au problème. Au lieu de cela, j'ai essayé d'ouvrir le fichier de problème, et de mettre un point d'arrêt dedans, mais il dit "Le point d'arrêt ne sera pas touché actuellement, aucun symbole n'a été chargé pour ce document". – Andrew

+0

@Andrew: Ensuite, vous devez placer les symboles où VS peut les atteindre. (Ce qui signifie probablement construire votre code et OpenCV en mode debug aussi) –