Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Utilisez cette page pour dépanner les téléversements de source maps React Native, et la symbolisation MobileJSError. Pour savoir comment téléverser des source maps, consultez le signalement des erreurs JavaScript React Native.
Dépannage
Erreurs de source map dans l’UI
Si vous voyez l’une des erreurs suivantes dans l’interface utilisateur, soit il manque l’attribut sourcesContent à votre fichier source map, soit les métadonnées soumises avec le téléchargement (sourcemapName, jsBundleId, ou appVersion) ne correspondent pas aux valeurs que l’application signale pour ce build :
Source map not found.
Source map missing.
Incorrect map detected.
Incorrect and missing maps detected.
Tout d’abord, confirmez que les sourcemapName, jsBundleId, et appVersion utilisés pour le téléversement correspondent aux valeurs que l’application signale pour ce build (voir Pourquoi mes numéros de ligne ne correspondent-ils pas ?). Si les métadonnées correspondent, votre source map doit inclure l’attribut sourcesContent pour que New Relic puisse déminifier vos traces d’appels. Régénérez la source map afin qu’elle inclue cet attribut, puis téléversez-la à nouveau. La plupart des bundlers incluent le contenu source d’origine lorsque vous activez une option telle que includeSources (ou l’équivalent pour votre outil de build).
Vous avez une application React Native mais vous ne voyez pas l’élément de menu
Si vous avez une application React Native mais que vous ne voyez pas l’élément de menu React Native dans l’interface utilisateur, vérifiez que vous utilisez une version à jour de l’agent et que votre application envoie des données. L’élément de menu n’apparaît pas tant que l’application n’envoie pas de données avec le tag de la plateforme React Native.
Vous ne voyez pas à la fois les événements MobileJSError et d’exception gérée
Avec la nouvelle version de l’agent, vous ne verrez pas à la fois les événements MobileJSError et les événements d’exception gérée pour les mêmes erreurs JavaScript. Les erreurs JavaScript sont plutôt enregistrées en tant qu’événements MobileJSError.
New Relic prend actuellement en charge MobileJSError pour React Native uniquement. Capacitor et Cordova ne sont pas pris en charge.
Questions fréquemment posées
Oui. Vous pouvez importer une source map gzippée ou zippée (.zip). Les scripts de build zippent automatiquement les fichiers .map volumineux avant l’importation.
200 Mo décompressés. New Relic ne stocke pas les source maps de plus de 200 Mo décompressées pour la symbolication. Il envoie plutôt la télémétrie de build. Pour plus de détails, consultez Limites de taille de fichier.
Les snippets de code nécessitent l’attribut sourcesContent dans votre source map. Si votre source map n’inclut pas le contenu source d’origine, New Relic peut toujours déminifier la trace d’appels à l’aide de la modélisation des lignes et des colonnes, mais il ne peut pas afficher le code source environnant. Régénérez la source map avec une option telle que includeSources activée (ou l’équivalent pour votre outil de build), puis téléchargez-la à nouveau.
Les numéros de ligne ne correspondent pas lorsque la source map uploadée ne correspond pas exactement au bundle JavaScript qui a produit l’erreur. Assurez-vous que jsBundleId et appVersion utilisés pour l’upload correspondent aux valeurs que l’application rapporte pour ce build — cela est particulièrement important après une mise à jour CodePush ou une autre mise à jour over-the-air (OTA), lorsque le bundle JavaScript diverge de la version binaire native. Confirmez également que votre source map est en version 3.
Le source map a dépassé la limite de 200 Mo; New Relic n’a donc envoyé que la télémétrie de build.
Les données n’ont pas encore fini de se synchroniser. Après un téléchargement, cela peut prendre quelques minutes pour que les données soient disponibles.
La clé API de la source map et le jeton de l’application appartiennent à des comptes New Relic différents.
Non. La symbolication React Native de New Relic prend en charge uniquement un seul fichier source map, correspondant au symbolicateur par défaut (non multi-bundle) de Metro. Si votre application divise son JavaScript en plusieurs bundles et génère plusieurs source maps, New Relic ne prend pas en charge la symbolication pour cette configuration.