Difference between revisions of "IDE Window: Debugger Options"
(Hope creating a see also link on this kind of page is appropriate, but I think Debugger_Setup is very useful when setting up debuggin in the IDE) |
|||
Line 2: | Line 2: | ||
{{IDE Window: Debugger Options}} | {{IDE Window: Debugger Options}} | ||
− | + | = General = | |
<center>[[Image:Debugger_options_general.png]]</center> | <center>[[Image:Debugger_options_general.png]]</center> | ||
− | + | == Debugger type and path == | |
Choose the debugger. | Choose the debugger. | ||
− | + | ;None: No debugger. On Run, simply execute the program. | |
− | + | ;GNU debugger (gdb): The gdb is not part of Lazarus. Unless 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. | |
− | 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. This feature has certain limits. [[Remote_Debugging|Read more ...]] |
− | |||
− | + | == Additional search path == | |
You can add extra directories, where to search for sources, named in the debugging information of the executable. This is used for all projects. | You can add extra directories, where to search for sources, named in the debugging information of the executable. This is used for all projects. | ||
− | + | == Debugger general options == | |
− | + | ;Show message on stop: Enable this to show a notification, when programs stops. | |
+ | ;Reset debugger after each run: The IDE keeps GDB running and re-uses it. If you are using a (older) version of GDB that does not support this, then you can start a new GDB instance each time you start a debug session. | ||
− | + | == Debugger specific options == | |
− | |||
− | |||
− | |||
Each debugger type has special options. | Each debugger type has special options. | ||
Line 30: | Line 27: | ||
==== GNU debugger (gdb) ==== | ==== GNU debugger (gdb) ==== | ||
− | + | ;Debugger_Startup_Options: Pass extra arguments to GDB. This is not needed for normal usage. This is if you are familiar with GDB and wish to modify it's behaviour. Using this option may interfere with the proper working of the debugger | |
− | This is | + | ;EncodeCurrentDirPath/EncodeCurrentFilePath: Experimental. Those option affect the quoting of certain path/filenames when they are given to GDB. Changing the option to the wrong value will stop the debugger from working. |
− | + | ;InternalStartBreak: Changes the way the debugger detects your applications, main entry point. It is advised to leave this at default. Other values may be tried, if the debugger report an error "<i>The debugger could not set a breakpoint on the application''s entry point</i>". | |
− | + | ;TimeOutForEval/WarnOnTimeOut: Read [[GDB_Debugger_Tips#TimeOuts]] | |
− | + | = Event Log = | |
<center>[[Image:Debugger_options_eventlog.png]]</center> | <center>[[Image:Debugger_options_eventlog.png]]</center> | ||
Line 50: | Line 47: | ||
This controls which messages are logged in the event log | This controls which messages are logged in the event log | ||
− | + | = Language Exceptions = | |
<center>[[Image:Debugger_options_language_exceptions.png]]</center> | <center>[[Image:Debugger_options_language_exceptions.png]]</center> | ||
Line 64: | Line 61: | ||
Uncheck this option if you don't want to stop on any exception | Uncheck this option if you don't want to stop on any exception | ||
− | + | = OS Exceptions = | |
<center>[[Image:Debugger_options_os_exceptions.png]]</center> | <center>[[Image:Debugger_options_os_exceptions.png]]</center> | ||
− | + | == Signals == | |
(not implemented) | (not implemented) | ||
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. | 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. | ||
− | + | = See also = | |
* [[Debugger_Setup]] | * [[Debugger_Setup]] | ||
[[category:Debugging]] | [[category:Debugging]] |
Revision as of 01:00, 1 July 2012
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
português (pt) │
русский (ru) │
General
Debugger type and path
Choose the debugger.
- None
- No debugger. On Run, simply execute the program.
- GNU debugger (gdb)
- The gdb is not part of Lazarus. Unless 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. This feature has certain limits. Read more ...
Additional search path
You can add extra directories, where to search for sources, named in the debugging information of the executable. This is used for all projects.
Debugger general options
- Show message on stop
- Enable this to show a notification, when programs stops.
- Reset debugger after each run
- The IDE keeps GDB running and re-uses it. If you are using a (older) version of GDB that does not support this, then you can start a new GDB instance each time you start a debug session.
Debugger specific options
Each debugger type has special options.
GNU debugger (gdb)
- Debugger_Startup_Options
- Pass extra arguments to GDB. This is not needed for normal usage. This is if you are familiar with GDB and wish to modify it's behaviour. Using this option may interfere with the proper working of the debugger
- EncodeCurrentDirPath/EncodeCurrentFilePath
- Experimental. Those option affect the quoting of certain path/filenames when they are given to GDB. Changing the option to the wrong value will stop the debugger from working.
- InternalStartBreak
- Changes the way the debugger detects your applications, main entry point. It is advised to leave this at default. Other values may be tried, if the debugger report an error "The debugger could not set a breakpoint on the applications entry point".
- TimeOutForEval/WarnOnTimeOut
- Read GDB_Debugger_Tips#TimeOuts
Event Log
General
Eventually logging info should go the the event log, for now it is show in the 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
(not implemented)
This controls which messages are logged in the event log
Language Exceptions
Programs can raise exceptions. For example, when a file can not be read. Here you setup, if the debugger should stop on an exception.
Ignore these exceptions
Add your exceptions to ignore here. For example: EDivByZero
Break on Lazarus Exceptions
Uncheck this option if you don't want to stop on any exception
OS Exceptions
Signals
(not implemented)
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.