Errors during compilation
Unless the error identifies itself as an internal compiler error, it is unlikely that the error is caused by a bug in the compiler or its runtime library. Syntax errors are almost always due to incorrect code. Refer to the FPC Parser Messages documentation for a listing of the various Error and Warning messages produced by the FPC Parser along with explanations of them.
If you encounter an error while compiling your code and are unable to resolve it yourself, please use the FPC and Lazarus Forums, write to the Lazarus or Free Pascal mailing list or join the #fpc or #lazarus-ide IRC channel. The problem may then be solved more quickly.
If an error is encountered during compilation, the compiler does not generate an executable program. See further compile time errors.
Errors during program execution
The Free Pascal Compiler inserts code to detect a large number of error situations which might occur during program execution (eg divide by zero). If such an error situation occurs, the standard run-time library will terminate the program and print a runtime error number and the address at which the error occurred. See further runtime errors.
If you encounter a runtime error while running your program and are unable to resolve it yourself, please use the FPC and Lazarus Forums, write to the Lazarus or Free Pascal mailing list or join the #fpc or #lazarus-ide IRC channel.
If the bug is already known
Use the FPC and Lazarus Bug Tracker's search capabilities.
Known issues. Tip: If you are experiencing problems, for example with TEdit.SelStart -> try searching "SelStart" (in quotes). If the bug is known:
- reopen if the issue is resolved or the issue is closed - use the Reopen Issue button.
- add your own note to the discussion if you received this error in another situation.
To observe any changes to your bug report - use the Monitor Issue button.
Note: You need to login to your account: Login/Create an account.
If the bug is not already known
- Go to the FPC and Lazarus Bug Tracker.
- You must be logged in: Login/Create account.
- Visit Report Issue. Fill in as many fields as possible. The more accurate the better.
- The OS and Product Version fields are especially important. If the data is not enough, they will not help you! Don't forget to mention the system features (big endian or 64-bit).
- It is often helpful to send in a small test program to resolve the problem as soon as possible.
- If you find graphic artifacts, it would not be superfluous to send a screenshot (in png or jpeg, but not in BMP!).
- If it fails, try creating a backtrace. More information - Creating a Backtrace with GDB.
- If possible, observe the behaviour of the buggy program on different platforms or with different widgetsets.
It is also possible to get a bug fixed by paying for a solution, see Bounties.