Éducation Société Événements NI Developer Zone Support Solutions Produits et Services Contacter NI MyNI
This Document is not yet Rated  Rate this Document

Erreur Interne LabVIEW (Echec dans XXX.c /XXX.cpp à la ligne YYY)

French Prim Software: LabVIEW Development Systems>>Professional Development System
French Prim Software Ver: 8.0
French Fixed Ver: N/A
French Sec Software: LabVIEW Development Systems>>Base Package

Problème:
Je reçois un message LabVIEW « Echec dans XXX.c /XXX.cpp à la ligne YYY ». Que se passe-t-il et comment remédier à ce problème ?

Solution: Vous pourrez trouver une réponse adaptée à ce type d’erreur en visitant la page : Internal error support page.

Qu’est qu’une erreur interne LabVIEW ?

Une erreur interne LabVIEW nous informe qu’il existe une condition qui empêche LabVIEW de continuer l’exécution. LabVIEW atteint des points dans son code source où il effectue un contrôle pour déterminer si certaines conditions sont vérifiées. En temps normal, ces conditions sont effectivement vérifiées, et LabVIEW est programmé pour les prendre en charge. Si ces conditions ne sont pas validées, LabVIEW affiche le message d’erreur interne et stoppe l’application afin d’éviter toute corruption des VI en mémoire. Les causes d’erreurs internes sont multiples. Pour cette raison, il est utile de connaître les étapes qui ont engendré cette erreur interne afin que LabVIEW puisse être modifié en tenant compte de cette condition pour les versions à venir. En ce qui concerne LabVIEW 7.0 et les versions ultérieures, lorsque LabVIEW est redémarré, vous êtes invités à rechercher cette erreur interne. De cette manière vous envoyez à National Instrument les caractéristiques de cette erreur. Cela simplifie le processus de rapport d’erreur, de sorte qu’un nouveau problème peut ainsi être étudié, et résolu dans les prochaines versions de LabVIEW. Pour permettre, ou neutraliser l’option de recherche d’erreur, aller dans Outils>>Options>>Mise au point>>Proposer d’examiner les erreurs internes au démarrage.

Recommandations générales pour empêcher l’apparition d’erreurs internes avec LabVIEW

1. Rechercher dans la base de connaissances ou/et dans les forums de discussion des références à votre message d’erreur (voir le lien ci-après).
2. Installer la dernière mise à jour de LabVIEW. La plupart des mises à jour LabVIEW sont disponibles à partir de vos pilotes et de votre bibliothèque de mises à jour (voir le lien ci-après).
3. Contacter le fabricant de votre carte graphique ou de l’imprimante et demander la dernière version des pilotes. Même si d’autres applications fonctionnent correctement, LabVIEW nécessite beaucoup de ressources graphiques et peut être à l’origine de problèmes graphiques que d’autres programmes n’engendrent pas.
4. Effacer tous les fichiers du répertoire « fichiers temporaires ». En ce qui concerne Windows 95/98, le répertoire de fichiers temporaires est C\Windows\Temp ; pour Windows NT/2000, il est C:\WINNT\Temp.
5. Recompiler l’ensemble de vos VI (Fichier>>Recompilation ou Outils >> Avancé >> Recompilation, en fonction de votre version LabVIEW). Si vous avez mis à niveau LabVIEW à partir d’une version antérieure, vous pourriez avoir des VI qui n’ont pas été mis à niveau. La recompilation effectue une mise à jour des VI, adaptée à votre version de LabVIEW.
6. Essayer d’exécuter votre application sous un autre système d’exploitation. Il est primordial de savoir si l’erreur interne est spécifique ou non à une plate-forme (i.e., le problème ne pourrait se poser que sous Windows 95, 98, NT, 2000, etc.).


Recommandations spécifiques pour empêcher l’apparition d’erreurs internes avec LabVIEW.

1. Les erreurs concernant image.cpp, image.c, window.cpp, drawmgr.c, color.c, panel.c, panelsup.c, textmgr.c, or fontmgr.c apparaissent habituellement lors de l’édition, mais aussi lors de l’impression :
a. Ces erreurs internes LabVIEW sont souvent résolues avec le dernier pilote en date de la carte graphique ou de l’imprimante. Assurez-vous d’avoir contacté le fabricant et installé les pilotes les plus récents. Une façon simple de déterminer si un driver est à la source de votre erreur interne spécifique est de vérifier la reproductibilité de cette erreur par l’exécution de votre code sur une autre machine (possédant par chance un autre ensemble de drivers).Si c’est un problème d’imprimante, essayez une autre imprimante.
b. Certains pilotes graphiques prennent également en charges les « modes d’accélération ». Nous avons constaté que l’utilisation en mode « non accéléré » élimine souvent ces erreurs. Pour Windows 95/98, effectuer un clic droit sur l’icône « Poste de travail » et sélectionner « Propriétés » dans le menu. Dans l’onglet « Performances », cliquer sur le bouton « paramètres graphiques » puis diminuer le paramètre d’accélération graphique (i.e., si il est au maximum, le diminuer d’un cran ou deux); pour Windows 2000/NT, cliquez droit sur le Bureau et sélectionner « Propriétés » à partir du menu. Dans l’onglet « Paramètres », cliquer sur le bouton « Avancé » et désactiver l’option.
c. Sous Windows, le pilote standart VGA fournit avec le système d’exploitation est très stable. Essayer d’utiliser ce pilote à la place de celui fournit avec votre carte graphique. Si l’erreur est éliminée, il semble qu’il y ait un problème avec le pilote du fournisseur de votre carte graphique.
d. Essayez d’ajuster la palette de couleurs que votre pilote utilise (par exemple, 256 couleurs, couleurs vraies,…). Il se peut que l’erreur n’apparaisse que pour l’un de ces modes. De même, changer la résolution (nombre de pixels) de l’écran (passer par exemple de 1024*768 à 800*60 pixels).
e. Si l’erreur apparaît durant l’impression, essayer de modifier les options d’impression dans le menu LabVIEW Edition>>Préférences>>Impression.

2. Les erreurs concernant memory.cpp, allocate.cpp peuvent être attribuées à une référence incorrecte à un module externe (par exemple, appel d’un fichier DLL ou CIN qui effectue une mauvaise allocation de la mémoire).

Suggestions :

a. Reportez-vous au Chapitre 4 de « L’utilisation d’un module externe dans le manuel LabVIEW » (voir lien ci-dessous) pour obtenir des explications et des méthodes sur l’utilisation adéquate du gestionnaire de mémoire (ensemble de routines de plateformes indépendantes pour allouer, manipuler, et désallouer de la mémoire à partir de modules externes).
b. Se référer à ces ressources disponibles sur notre site :
i. LabVIEW Resource Library - Code Interface Nodes
ii. LabVIEW Resource Library - DLL Integration
iii. An Overview of Accessing DLLs or Shared Libraries from LabVIEW
3. Les erreurs concernant thread.cpp apparaissent le plus souvent lors de l’appel d’une DLL (dynamic link library) dans un environnement multithread.
Suggestions :
a. Désactivez la fonction « multithreading » dans LabVIEW. Aller dans Edition>>Préférences>>Performances & Disque (ou Outils>>Options>>Performances & Disque, selon votre version de LabVIEW) et décocher l’option « Exécuter dans plusieurs Threads ».
b. Assurez vous que votre DLL est « réentrantes ». Cliquer droit dans la bibliothèque de fonction et sélectionner « Configuration » dans le menu. Apparaît alors un menu déroulant avec deux options : « Exécution dans un UI Threads » et « Ré-entrant », sélectionnez « Ré-entrant ».
Si vous rencontrez des erreurs internes LabVIEW après avoir suivi ces suggestions, contactez le support National Instrument (voir le lien ci-dessous) en joignant un exemple de la VI qui reproduit le problème en fichier attaché, ainsi nos ingénieurs d’applications pourront plus facilement vous aider à résoudre ce problème. Merci de faire une description détaillée du problème afin que l’on puisse le reproduire dans des conditions les plus proches des vôtres.


Liens rattachés:
LabVIEW Support: Commonly Occurring Internal Errors and Resolutions page.
Search the KnowledgeBase page.
Drivers and Updates: Download the Latest LabVIEW Update page.
Product Manuals: Using External Code in LabVIEW page.
Developer Zone: An Overview of Accessing DLLs or Shared Libraries from LabVIEW page.

Pièces jointes:





Date du rapport: 06/20/2005
Dernière mise à jour: 05/23/2008
ID du document: 3MJ2IIPQ

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit