Linux Embedded

Le blog des technologies libres et embarquées

Étiquette : debug

FlameGraph

Introduction Les outils de profilage permettent lors de l’exécution d’un logiciel de contrôler la liste des fonctions appelées, le temps passé dans chacune d’elle, l’utilisation des ressources processeur ou l’utilisation mémoire par exemple. Sous Linux une multitude d’outils sont disponibles et si vous avez déjà utilisé Perf ou eBPF vous avez sans nul doute remarqué que la quantité de log…

Les secrets du traceur eBPF

Introduction Le traçage permet d’instrumenter un noyau pour capturer les événements bas niveau (allocation mémoire, changement de contexte, réception d’un paquet réseau, …,etc). Le traçage a fait l’objet des deux articles précédents, nous avons présenté des outils tels que Ftrace, Perf et Lttng. Dans cet article, nous allons décrire eBPF, le traceur le plus performant sous Linux. Quelques généralités sur…

Les traceurs sous linux (2/2)

Introduction Les applications et les systèmes d’exploitation sont devenus très complexes, de nombreux outils de traçage sont apparus au cours de la dernière décennie. Leur but est d’instrumenter et optimiser la qualité des programmes en termes de performances et de robustesse. Après l’article précédent sur Ftrace, nous allons apprendre a utiliser les traceurs Perf et LTTng. Perf Perf est un…

Les traceurs sous linux (1/2)

Introduction L’analyse des performances est essentiel pour tout processus de développement d’une application logicielle. En plus du débogage, il est nécessaire d’utiliser des pratiques d’instrumentation pour garantir les performances attendues d’une application (ou même d’un noyau). L’instrumentation consiste essentiellement à surveiller et à mesurer les performances, à diagnostiquer les erreurs et à écrire des informations de suivi dans les environnements…

Survol des outils de debug

Introduction Dans le développement de logiciels, le débogage consiste à localiser et à corriger les erreurs de code dans un programme informatique. Le débogage fait partie du processus de test logiciel et fait partie intégrante du cycle de vie du développement. Le débogage est souvent difficile pour les programmeurs, Norman Matloff et Peter Jay Salzman disent: Déboguer, c’est chercher une…

OpenOCD from scratch

Introduction Le débogage est une procédure importante dans les processus d’amélioration de la programmation ou de l’équipement, qu’il s’agisse d’un objet commercial, d’une entreprise ou d’une application personnelle. La plupart des projets contiennent un grand nombre de lignes de code, susceptibles de contenir des bogues. Les outils d’investigation ou les débogueurs distinguent les erreurs de codage à différentes étapes. Cet…

Partager son dépôt git rapidement sur le réseau

Les possibilités de partage de git sont assez mal connues. La plupart des utilisateurs clonent un dépôt initial et ne font ensuite que communiquer avec cette unique source. Pourtant git est distribué par nature et rien ne nous contraint à être aussi centralisé. Nous allons voir ici comment facilement ouvrir un serveur git à partir de votre dépôt local pour partager votre travail avec…

Utilisation de printascii pour la mise au point du noyau Linux/ARM

Lors de la mise au point du noyau Linux sur une cible, il est possible que les messages sur la console (issus de l’utilisation de printk()) n’apparaissent pas car le pilote associé nécessite un meilleur niveau de fonctionnement du noyau. Bien entendu, la sonde JTAG est la meilleure solution mais elle n’est pas toujours disponible. L’utilisation de early printk permet…