Difference between revisions of "IDE Window: Debugger Options/fr"

From Free Pascal wiki
Jump to navigationJump to search
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[category:Fenêtre de l'IDE|Debugger Options]][[category:IDE Window - Configuration|Debugger Options]][[category:IDE Window - Debug|Options]]
+
<noinclude>{{IDE Window: Debugger Options}}<!--- This page may be used as template in other pages ---></noinclude>
{{IDE Window: Debugger Options}}
 
  
== General ==
+
{{Warning| This page is outdated. The setting dialog was changed. Options have been moved to new pages and/or the "project settings" }}
<center>[[Image:Debugger_options_general.jpg]]</center>
+
<br/>
  
=== Debugger type and path ===
+
__toc__
  
Choose the debugger.
+
== Général ==
* '''None''' - No debugger. On Run, simply execute the program.
+
Cet article décrit les réglages dans le menu Outils/Options associé au débogage.
* '''GNU debugger (gdb)''' - The gdb is not part of Lazarus. Unles you are using windows, you must install it yourself.
 
This is the connector to gdb. You must set the path to gdb (for example /usr/bin/gdb) in the field below.
 
* '''GNU debugger through SSH''' - for remote debugging. You can use a SSH connection to a another computer and execute gdb there. You need a SSH connection without prompt for password for this. See the SSH documentation on how to do that.
 
  
=== Additional search path ===
+
Dans Lazarus 2.2 ce cadre a été remplacé par  [[IDE_Window:_DebuggerGeneralOptionsFrame/fr|Options générales du débogueur]] et [[IDE_Window:_DebuggerClassOptionsFrame/fr|Options du backend du débogueur]]
  
You can add extra directories, where to search for sources, named in the debugging information of the executable. This is used for all projects.
+
<center>[[Image:Debugger_options_general.jpg]]</center>
  
=== Debugger general options ===
+
=== Type de débogueur et chemin ===
 +
Choisissez le débogueur.
 +
*'''None''' - Pas de débogueur. Pendant l'exécution, lance simplement le programme.
 +
*[[LazDebuggerFp/fr|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. [[Remote_Debugging/fr|Read more ...]]
 +
*'''GDB remote debugger''' (gdbserver): for remote debugging.
 +
*'''Débogueur LLDB''' (Alpha):
 +
*'''Débogueur LLDB''' (avec fpdebug) (beta):
  
==== Show message on stop ====
+
=== 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:
  
Enable this to show a notification, when programs stops.
+
=== Options spécifiques du débogueur ===
 +
Chaque type de débogueur a des options spéciales.
  
=== Debugger specific options ===
+
==== FpDebug débogueur Dwarf interne ====
 +
;NextOnlyStopOnStartLine:
 +
;HandleDebugBreakInstruction:
 +
;MemLimits:
 +
;NextOnlyStopOnStartLine:
  
Each debugger type has special options.
+
==== 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 "<i>The debugger could not set a breakpoint on the application''s entry point</i>"
 +
;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]]
  
==== GNU debugger (gdb) ====
+
(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.
  
* '''OverrideRTLCallingConvention''':
+
== Journal des événements ==
This is an internal flag and can stay default.
 
To handle software exceptions, Lazarus uses some internal breakpoints on locations where these exceptions are raised. When an executable is fully compiled with debug info (thus also the RTL) one can retrieve the agruments passed to those exception routines. However that is usually not the case, so Lazarus has its internal way of examinig the callstack and registers. In order to interprete those arguments correctly it needs to know what the internal calling convention was of those routines. Pre FPC 1.9.x arguments were passed on stack. Nowadays arguments are passed in registers.
 
In case the the FPC version detection routine draws the wrong conclusion, one can override the calling convention here.
 
 
 
== Event Log ==
 
 
<center>[[Image:Journaldesevenements.jpg]]</center>
 
<center>[[Image:Journaldesevenements.jpg]]</center>
  
=== General ===
+
=== Général ===
 +
Au final, l'information sur les événements devrait aller au [[IDE Window:Event Log/fr|journal des évènements]], pour l'instant elle est présentée dans la fenêtre [[IDE Window: Debug Output/fr|de sortie de débogage]].
  
Eventually logging info should go the the [[IDE Window:Event Log|event log]], for now it is show in the [[IDE Window: Debug Output|debug output]] window.
 
 
* '''Clear log on run''': clear the event log, on each start of the program.
 
* '''Limit line count to''': keep only the last lines of output.
 
  
 
=== Messages ===
 
=== Messages ===
(not implemented)
+
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.
 
 
This controls which messages are logged in the event log
 
  
== Language Exceptions ==
+
[[File:IDEMessagesWindowFind1.png]]
<center>[[Image:Debugger_options_language_exceptions.png]]</center>
 
  
Programs can raise exceptions. For example, when a file can not be read. Here you setup, if the debugger should stop on an exception.
+
Voir [[IDE_Window:_Messages/fr|Fenêtre EDI: Messages]].
  
=== Ignore these exceptions ===
+
== Exceptions du langage ==
 +
<center>[[Image:ExeptiondeLangue.jpg]]</center>
  
Add your exceptions to ignore here.
+
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.
For example: EDivByZero
 
  
=== Break on Lazarus Exceptions ===
+
=== Ignorer ces exceptions ===
 +
Ajoutez vos exceptions à ignorer ici.
 +
Par exemple: EDivByZero
  
Uncheck this option if you don't want to stop on any exception
+
=== Avertissement sur les exceptions Lazarus ===
 +
Cochez cette option si vous voulez un avertissement sur les exceptions Lazarus.
  
== OS Exceptions ==
+
== Exceptions du système d'exploitation ==
<center>[[Image:Debugger_options_os_exceptions.png]]</center>
+
<center>[[Image:ExceptionsSystèmeExploitation.jpg]]</center>
  
=== Signals ===
+
=== Signaux ===
(not implemented)
+
(non implémenté)
  
Defines if signals should be handled by the debugger or by the user program. For instance, an div by zero is first signalled by the OS. Then the FPC RTL translates this to an EDivByZero. When the signal is handled by the debugger, the program is stopped before the RTL translates this message. Currently the debugger always stops on a signal.
+
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.

Latest revision as of 13:47, 4 September 2022

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.