Je donne les résultats suivants:Pourquoi Visual C++ n'atteint pas de point d'arrêt ou ne passe pas par une fonction spécifique?
classA::FuncA()
{
... code
FuncB();
... code
}
classA::FuncB(const char *pText)
{
SelectObject(m_hDC, GetStockObject ( SYSTEM_FONT));
wglUseFontBitmaps(m_hDC, 0, 255, 1000);
glListBase(1000);
glCallLists(static_cast<GLsizei>(strlen(pText)), GL_UNSIGNED_BYTE, pText);
}
Je peux frapper des points d'arrêt partout dans FoncA. Si j'essaie d'entrer dans FuncB, il va plus loin. Il acceptera un point d'arrêt dans FuncB, mais ne le touchera jamais. Je sais qu'il exécute FuncB, parce que je peux mettre un appel MessagBox() dans FuncB et obtenir la boîte de message. Je suis nouveau sur VS2005 après quelques années d'utilisation étendue de VC6. La situation comme celle-ci, je me souviens de mes jours VC6, est si l'information de symbole n'est pas disponible. Cependant, dans ce cas, les deux fonctions sont dans le même fichier, les informations de symbole doivent donc être correctes. Aussi dans ce cas, je pense que vous ne pouvez même pas définir le point d'arrêt.
J'ai essayé tous les stupides vaudous comme la reconstruction de toute la solution.
Quelle chose stupide suis-je dominant?
EDIT: Ajout du code pour FuncB en réponse à un commentaire sur le fait qu'il peut être essentiellement en ligne. (C'est juste l'exemple de code exact de MSDN pour wglUseFontBitmaps [moins les commentaires ici]). Je ne vois pas comment cela entraverait pas franchir chaque appel.
Ouais, comme le code au point d'arrêt peut même plus exister. –
Cela s'est avéré être le cas. Merci. –