GNU DebuggerGNU Debugger, également appelé GDB, est le débogueur standard du projet GNU. Il est portable sur de nombreux systèmes type Unix et fonctionne pour plusieurs langages de programmation, comme le C, C++, Fortran, Ada, Objective-C, et le Go. Il fut écrit par Richard Stallman en 1988. GDB est un logiciel libre, distribué sous la licence GNU GPL. GDB a été écrit en premier par Richard Stallman en 1986 en parallèle de son système GNU, après que GNU Emacs ait été considéré comme "raisonnablement stable".
PL/IPL/I ou PL/1 (Programming Language number 1, littéralement « Langage de programmation numéro 1 ») est un langage de programmation développé par IBM au début des années 1960. Son objectif était d'être universel et de pouvoir remplacer indifféremment les langages à destination scientifique, tels que FORTRAN et ALGOL, et le langage COBOL, plus adapté aux problèmes de comptabilité et de gestion.
DebuggingIn computer programming and software development, debugging is the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, , monitoring at the application or system level, memory dumps, and profiling. Many programming languages and software development tools also offer programs to aid in debugging, known as debuggers.
Core dumpUn core dump est un fichier dans lequel est enregistré une copie de la mémoire vive et des registres d'un processeur, permettant d'avoir un instantané de l'état d'un système. Il sert généralement à des fins d'analyse, à la suite d'une exception, forcée ou provoquée par une erreur. Le core dump peut pour cela être analysé dans un débogueur. Sur les systèmes suivant la norme POSIX, le signal « Core » permet de déclencher le core dump d'un processus donné, mais il existe également d'autres méthodes permettant d'y aboutir.
Interface en ligne de commandevignette|300px|Capture d'écran d'un shell Bash sous Gentoo. Une interface en ligne de commande ou ILC (en anglais command line interface, couramment abrégé CLI) est une interface homme-machine dans laquelle la communication entre l'utilisateur et l'ordinateur s'effectue en mode texte : l'utilisateur tape une ligne de commande, c'est-à-dire du texte au clavier pour demander à l'ordinateur d'effectuer une opération ; l'ordinateur affiche du texte correspondant au résultat de l'exécution des commandes tapées ou à des questions qu'un logiciel pose à l'utilisateur.
Instruction set simulatorAn instruction set simulator (ISS) is a simulation model, usually coded in a high-level programming language, which mimics the behavior of a mainframe or microprocessor by "reading" instructions and maintaining internal variables which represent the processor's registers. Instruction simulation is a methodology employed for one of several possible reasons: To simulate the instruction set architecture (ISA) of a future processor to allow software development and test to proceed without waiting for the development and production of the hardware to finish.
Architecture ARMLes architectures ARM sont des architectures externes de type RISC 32 bits (ARMv1 à ARMv7) et 64 bits (ARMv8) développées par ARM Ltd depuis 1983 et introduites à partir de 1990 par Acorn Computers. L'architecture ARM est le fruit du travail de Sophie Wilson. Dotés d'une architecture relativement plus simple que d'autres familles de processeurs et faibles consommateurs d'électricité, les processeurs ARM sont aujourd'hui dominants dans le domaine de l'informatique embarquée, en particulier la téléphonie mobile et les tablettes.
Craquage (informatique)La craquage d'un logiciel (en anglais, cracking ou breaking dans les années 1980) est la modification d'un logiciel pour supprimer ou désactiver des fonctionnalités jugées indésirables par la personne qui craque le logiciel, en particulier les fonctions de protection contre la violation de droit d'auteur, l'affichage de publicité et l'affichage de propositions d'acheter la version payante du logiciel. Une crack désigne l'outil qui permet de réaliser le craquage. Ces outils peuvent être des générateurs de clés, des patches ou des loaders.
DésassembleurUn désassembleur est un programme informatique qui traduit du langage machine (un fichier exécutable) en langage assembleur (aussi désigné sous le nom de langage « bas niveau »). Cette opération, le désassemblage, est l'inverse de celle effectuée par un programme assembleur, l'assemblage. Il est possible de désassembler le code machine généré par un compilateur de langage haut-niveau (C/C++, Delphi, etc.), mais on n'obtiendra pas le code source du langage d'origine, juste la correspondance en assembleur du code machine.
Point d'arrêt (informatique)vignette|Capture d'écran du débogage dans Eclipse : le programme est suspendu à un point d'arrêt Un point d'arrêt est une marque placée par le programmeur à un endroit précis d'un programme informatique (généralement dans le code source ou le code assembleur obtenu à l'aide d'un désassembleur), qui permet d'indiquer à un débogueur d'arrêter l'exécution lorsqu'il atteindra cet endroit. C’est un moyen de scruter dans le détail l’exécution du programme en le faisant progresser petit à petit, afin de repérer des défauts de conception ou de mieux le comprendre.
Profilage de codeEn informatique, le profilage de code (ou code profiling en anglais) consiste à analyser l'exécution d'un logiciel afin de connaitre son comportement à l'exécution. Le profilage de code permet de contrôler lors de l'exécution d'un logiciel : la liste des fonctions appelées et le temps passé dans chacune d'elles ; l'utilisation processeur ; l'utilisation mémoire. en rajoutant des instructions au code source originel qui permettent de mesurer le comportement du logiciel lors de l'exécution.
Interprète (informatique)En informatique, un interprète, ou interpréteur , est un outil dont la tâche est d'analyser, de traduire et d'exécuter les programmes écrits dans un langage informatique. On qualifie parfois, , les langages dont les programmes sont généralement exécutés par un interprète de langages interprétés. Un interprète se distingue d’un compilateur par le fait qu’il effectue l’analyse et la traduction nécessaires à l'exécution d’un programme donné non pas une fois pour toutes, mais à chaque exécution de ce programme.
Plantagethumb|Message d'erreur à la suite d'un plantage du système contrôlant un écran d'affichage dans un aéroport Dans le jargon informatique, un plantage (parfois appelé, par anglicisme, « crash »), ou un sinistre informatique (nécessitant un plan de reprise d'activité global de l'organisation ou un plan de reprise d'activité informatique), est une interruption anormale, souvent inattendue, d’un logiciel (lequel peut aussi bien être une application qu’un système d'exploitation) due à une panne, un incident ou un
Microsoft Visual StudioMicrosoft Visual Studio est une suite de logiciels de développement pour Windows et mac OS conçue par Microsoft. La dernière version s'appelle Visual Studio 2022. Visual Studio est un ensemble complet d'outils de développement permettant de générer des applications web ASP.NET, des services web XML, des applications bureautiques et des applications mobiles. Visual Basic, Visual C++, Visual C# utilisent tous le même environnement de développement intégré (IDE), Visual Studio Code, qui leur permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages.
Stepping (debugging)Program animation or stepping refers to the debugging method of executing code one instruction or line at a time. The programmer may examine the state of the program, machine, and related data before and after execution of a particular line of code. This allows the programmer to evaluate the effects of each statement or instruction in isolation, and thereby gain insight into the behavior (or misbehavior) of the executing program. Nearly all modern IDEs and debuggers support this mode of execution.
Joint Test Action GroupLe JTAG (pour Joint Test Action Group) est le nom de la norme IEEE 1149.1 intitulée « Standard Test Access Port and Boundary-Scan Architecture », qui été normalisée en 1990. Le terme JTAG, désignant le groupe de travail qui a conçu la norme, est abusivement (mais très largement) utilisé au lieu du terme générique Boundary Scan, ou du sigle TAP (Test Access Port, port d'accès de test). La technique de boundary scan (littéralement, « scrutation des frontières ») est conçue pour faciliter et automatiser le test des cartes électroniques numériques.
Application (informatique)Une application, un applicatif ou encore une appli, une app est, dans le domaine informatique, un programme (ou un ensemble logiciel) directement utilisé pour réaliser une tâche, ou un ensemble de tâches élémentaires d'un même domaine ou formant un tout. Typiquement, un éditeur de texte, un navigateur web, un lecteur multimédia, un jeu vidéo, sont des applications. Les applications s'exécutent en utilisant les services du système d'exploitation pour utiliser les ressources matérielles.
Gestion des droits numériquesvignette|alt=|284x284px|Écran d'un téléphone affichant un fichier protégé contre la copie La gestion des droits numériques (GDN) ou la gestion numérique des restrictions, en anglais « digital rights management » (DRM), ou encore les mesures techniques de protection (MTP), ont pour objectif de contrôler l'utilisation qui est faite des œuvres numériques par leur chiffrement. Ces dispositifs peuvent s'appliquer à tous types de supports numériques physiques (disques, DVD, PDF, logiciels...
Eclipse (projet)Eclipse est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s'appuyant principalement sur Java. Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant les activités de programmation (notamment environnement de développement intégré et frameworks) mais aussi d'AGL recouvrant modélisation, conception, test, gestion de configuration, reporting.
Architecture matériellevignette|Architecture matérielle d'un processeur Intel Core2. vignette|Architecture matérielle d'un Cyclops64 (BlueGene/C). L’architecture matérielle décrit l’agencement interne de composants électroniques ainsi que leurs interactions. Le terme interne employé ici permet de bien faire la différence avec l’architecture (externe) de processeur (ou architecture de jeu d'instruction), qui s'intéresse à la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine.