chasse vers le bas d'un choc dans une application WinCE 5.0 C++ de débordement de pile, réduit à unQuelqu'un a-t-il eu des problèmes avec l'utilisation de la pile sscanf() sur WinCE?
_stscanf (astring, _T ("% s% * 02d \ n"), & aNumber);
appel fait à la fin d'une longue chaîne de boîtes de dialogue modales, avec une valeur de _T ("NIVEAU 01").
Analyse de notre journal de trames de pile de gestion des exceptions et comparaison du pointeur de pile à partir de la dernière image de pile stockée. le SP au moment où l'exception a été lancée semblait montrer une quantité folle d'utilisation de la pile par _stscanf() ....
... suffisamment fou que je sentais que j'avais besoin de le vérifier. Après quelques jours de piratage, je suis venu avec une routine de test qui effectue des mesures d'utilisation de la pile de type filigrane haute pour _stscanf().
Nous effectuons une compilation croisée pour deux cibles CE différentes: CE 4.2 sur Renesas/Hitachi SH4 et CE 5.0 sur Freescale iMX32 (noyau ARM1136), ainsi qu'un émulateur Windows Desktop.
utilisation de la pile pour _stscanf() appel (approx.):
bureau 60
CE 4.2 sur SH4 9252
CE 5.0 sur ARM 9280
Ce qui est juste, 9K de la pile sur CE ?! !! ??
Y a-t-il quelqu'un d'autre qui rencontre quelque chose comme ça?