1

Je continue d'obtenir ce message Rect: identifier "posPt" is undefined des centaines de fois dans ma sortie de débogage, mais je ne le trouve pas dans le code que je débogue. J'ai donc essayé de rompre chaque fois que l'une des fonctions suivantes est appelée: _CrtDbgReport, _CrtDbgReportV, _CrtDbgReportW, et _CrtDbgReportWV, que j'ai trouvé en explorant le code TRACE. J'ai également trouvé _CrtDbgReportT et _CrtDbgReportTV, mais ils ne semblent pas avoir de lien car je ne pouvais pas définir un point d'arrêt sur eux.Comment puis-je interrompre la sortie de débogage dans Visual Studio 2013?

Dans tous les cas, il ne se casserait toujours pas, donc soit ils ne sont pas appelés et une autre fonction similaire est, soit le débogueur n'obtient pas toutes les instances des liens. Donc, ma question est comment puis-je savoir où la sortie est générée?

EDIT: L'application est C++ code natif avec plusieurs DLL liées à

+0

il peut avoir été appelé directement par le code. Ajoutez un point d'arrêt à cette fonction. Préparez-vous pour les faux positifs. –

+0

@CodyGray, 'OutputDebugString' n'est pas reconnu comme un symbole lié. Trouvé 'OutputDebugStringW' et' OutputDebugStringA', mais ne les casse toujours pas. – Adrian

Répondre

0

C'était il y a un certain temps, et je ne sais pas si je trouve la question.. Cependant, en y repensant, il peut avoir été provoqué par un point d'arrêt qui avait une action à enregistrer dans la fenêtre de sortie, référençant une variable qui n'existe plus ou le point d'arrêt étant déplacé en raison de lignes ajoutées/supprimées par un programme de contrôle de source, déplaçant la variable hors de portée. Étant donné la sortie Rect: identifier "posPt" is undefined, l'action aurait dû être Rect: {posPt}

`OutputDebugString` est ultimement responsable de: