Plusieurs fois, j'ai eu des sorties suspectes sur le moniteur série après avoir téléchargé du code sur l'Arduino: comme une sortie éternelle d'espaces blancs ou une coupure soudaine de chaînes ou des chaînes brouillées.
Parce qu'il n'y avait pas d'erreur de compilation ou d'avertissement dans l'IDE Arduino, je pensais que l'Arduino était cassé mais après quelques tests, j'ai découvert que toutes sortes d'erreurs n'étaient pas détectées par le compilateur IDE Arduino - en particulier lors de l'attribution de variables dans une boucle pour les structures de tableau. Cela semble faire planter l'Arduino en peu de temps.
Comment puis-je découvrir des erreurs non affichées par l'IDE Arduino?
//
. :-(On dirait que vous parlez ici d'erreurs d'exécution (du type fuite de mémoire / erreur de segmentation).
Il n'y a aucun moyen de découvrir de telles erreurs (sauf si vous peignez très soigneusement le code) dans du code déjà écrit. Cependant, il est assez facile d'empêcher que cela ne se produise lors de l' écriture du code. Soyez très prudent lorsque vous écrivez des boucles ou des appels récursifs; demandez-vous "est-ce que cela pourrait devenir incontrôlable?". S'il semble que ce soit la possibilité pour lui de "devenir incontrôlable", alors écrivez du code pour vous protéger contre cela.
À propos de segfaults - vérifiez simplement les valeurs limites des indices de tableau et vous devriez être OK. Si vous utilisez des pointeurs, faites attention à l'arithmétique des pointeurs.
la source