IDE Window: Debugger Options/fr

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru)

Warning-icon.png

Avertissement: This page is outdated. The setting dialog was changed. Options have been moved to new pages and/or the "project settings"


Général

Cet article décrit les réglages dans le menu Outils/Options associé au débogage.

Dans Lazarus 2.2 ce cadre a été remplacé par Options générales du débogueur et Options du backend du débogueur

Debugger options general.jpg

Type de débogueur et chemin

Choisissez le débogueur.

  • None - Pas de débogueur. Pendant l'exécution, lance simplement le programme.
  • FpDebug : débogueur interne basé sur Dwarf:
  • GNU debugger (gdb): GDB gdb ne fait pas partie de Lazarus. Sauf si vous utilisez windows ou MacOS avec Xcode, vous devez l'installer vous-même. C'est le connecteur vers gdb. Vous devez définir le chemin d'accès à gdb (par exemple /usr/bin/gdb) dans le champ ci-dessous.
  • GNU debugger through SSH - pour le débogage distant. Vous pouvez utiliser une connexion SSH vers un autre ordinateur et exécuter gdb là-bas. Vous avez besoin d'une connexion SSH sans invite de mot de passe pour celà. Voir la documentation SSH sur la façon dont faire cela. Cette fonctionnalité a certaines limites. Read more ...
  • GDB remote debugger (gdbserver): for remote debugging.
  • Débogueur LLDB (Alpha):
  • Débogueur LLDB (avec fpdebug) (beta):

Options générales du débogueur

(sous Lazarus 2.20) On y accède en passant par Outils|Options|Débogueur|Général.

Chemin de recherche additionnel
Vous pouvez ajouter d'autres répertoires, où rechercher des sources, nommée dans l'information de débogage de l'exécutable. Ceci est utilisé pour tous les projets.
Afficher le message à l'arrêt
Activer cela pour afficher une notification quand les programmes s'arrêtent.
Afficher le message à l'arrêt avec erreur
Activer cela pour afficher une notification quand les programmes s'arrêtent avec un code de sortie différent de 0.
Réinitialiser le débogueur après chaque exécution
L'EDI garde GDB en exécution et le réutilise. Si vous utilisez un (plus ancienne) version de GDB qui ne supporte pas ceci, alors vous pouvez démarrer une nouvelle instance de GDB chaque fois que vous de démarrer une session de débogage.
Fermer automatiquement la fenêtre de l'assembleur si le code source est introuvable
Définir automatiquement "utiliser le type de classe d'instance"...
BETA
Autoriser les appels de fonction dans les suivis:

Options spécifiques du débogueur

Chaque type de débogueur a des options spéciales.

FpDebug débogueur Dwarf interne

NextOnlyStopOnStartLine
HandleDebugBreakInstruction
MemLimits
NextOnlyStopOnStartLine

Débogueur GNU (gdb)

AssemblerStyle
CaseSensitivity
ConsoleTty
Debugger_Startup_Options
Passe des arguments supplémentaires à GDB. Cela n'est pas nécessaire en temps normal. Cela est utile si vous êtes familiers avec GDB et souhaitez modifier sont comportement. L'utilisation de cette option interfère avec le fonctionnement propre du débogueur.
DisableForcedBreakpoint
DisableLoadSymbolsForLibraries
Empêche le chargement de tout symbole depuis les bibliothèques. (ne doit pas être utilisé pour déboguer les bibliothèques). Il y a plusieurs problèmes gdb déclenchés par des symboles chargés depuis des bibliothèques. Si vous obtenez toute erreur avec la mention "solib", essayer d'activer cette option (true). Voir aussi: GDB_Debugger_Tips#Known_Problems_.2F_Errors_reported_by_the_IDE.
DisableStartupShell
EncodeCurrentDirPath/EncodeExeFileName/EncodingForCurrentDirPath/EncodingForEnvironment/EncodingForExeArgs/EncodingForExeFileName
Expérimental. Ces options affectent les quotes de certains chemin/nom de fichier quand ils sont données à GDB. Le changement de ces options vers une mauvaise valeur arrêtera le fonctionnement du débogeur.
EventProperties
FixIncorrectStepOver
FixStackFrameForFpcAssert
GdbLocalsValueMemeLimit
GdbValueMemeLimit
InternalExceptionBreakPoints
InternalExceptionBrkSetMethod
InternalStartBreak
Change la manière du débogueur pour détecter vos applications, le point d'entrée principal. Il est conseillé de laisser ceci à son défaut. D'autres valeurs peuvent être essayées, si le débogueur rapporte un erreur "The debugger could not set a breakpoint on the applications entry point"
MaxDisplayLengthForStacticArray
MaxDisplayLengthForString
Pour tout chaîne (PChar) GDB lit un maximum comme spécifié par ce réglage. GDB termine toujours au premier Zéro (#0). GDB ne manipule pas bien les chaînes Pascal.
UseAsyncCommandMode
Mainly supported by gdbserver. Setting should be used for any remote debugging (gdbserver/gdb over ssh). See gdb documentation for "set target async". IF supported by gdb, can also be used for local debugging.
UseNoneMiRunCommands
WarnOnInternalError
Par défaut à True. Si défini à False, les erreur internes à GDB seront ignorées par l'EDI. Pourtant, cela ne change pas, que gdb a eu une erreur interne et que le débogage peut signaler des données incorrectes ou se comporter de toute façon. Cela n'empêchera pas non plus les erreurs de suivi. Il omet simplement d'informer l'utilisateur, mais ne corrige rien. Laissez sur True, sauf si vous obtenez à plusieurs reprises la même erreur interne et que vous avez bien testé, cela ne vous affecte pas. (Alors la boîte de dialogue d'avertissement serait ennuyeuse et vous voudrez peut-être l'ignorer).
TimeOutForEval/WarnOnTimeOut
Lire GDB_Debugger_Tips/fr#TimeOuts

(ce qui suit semble obsolète)

OverrideRTLCallingConvention

C'est un drapeau interne et peut rester par défaut. Pour manipuler des exceptions logicielles, Lazarus utilises quelques breakpoints internes sur des endroits où ces exceptions sont levées. Quand un exécutable est entièrement compilée avec les informations de débogage (donc également RTL) on peut récupérer les arguments passés à ces routines d'exception. Toutefois, ce n'est généralement pas le cas, aussi Lazarus a sa manière interne pour examiner la pile des appels et les registres. Afin d'interpréter correctement ces arguments il a besoin de savoir quelle convention d'appel interne furent pour ces routines. Les arguments antérieurs à FPC 1.9.x ont été passés sur la pile. Aujourd'hui, les arguments sont passés dans les registres. Dans le cas où la routine de détection de la version de FPC tire une fausse conclusion, on peut passer outre à la convention d'appel ici.

Journal des événements

Journaldesevenements.jpg

Général

Au final, l'information sur les événements devrait aller au journal des évènements, pour l'instant elle est présentée dans la fenêtre de sortie de débogage.


Messages

La fenêtre Messages est généralement positionnée sous l'éditeur de source et affichée lors de la construction du projet. Il affiche la sortie du compilateur et peut afficher la sortie d'outils externes.

IDEMessagesWindowFind1.png

Voir Fenêtre EDI: Messages.

Exceptions du langage

ExeptiondeLangue.jpg

Les programmes peuvent lever des exceptions. Par exemple, si un fichier ne peut pas être lu. Ici vous configurez, si le débogueur doit s'arrêter sur une exception.

Ignorer ces exceptions

Ajoutez vos exceptions à ignorer ici. Par exemple: EDivByZero

Avertissement sur les exceptions Lazarus

Cochez cette option si vous voulez un avertissement sur les exceptions Lazarus.

Exceptions du système d'exploitation

ExceptionsSystèmeExploitation.jpg

Signaux

(non implémenté)

Définit si les signaux doivent être manipulés par le débogueur ou par le programme utilisateur. Par exemple, une division par zéro est d'abord signalée par le système d'exploitation. Ensuite la bibliothèque RTL de FPC traduit ceci par EDivByZero. Lorsque le signal est traité par le débogueur, le programme est arrêté avant que la bibliothèque RTL traduise ce message. Actuellement, le débogueur s'arrête toujours sur un signal.