[fpc-pascal] Program crash - read the error messages

Tomas Hajny XHajT03 at hajny.biz
Fri Sep 1 17:57:26 CEST 2023


On 2023-09-01 17:39, Rainer Stratmann via fpc-pascal wrote:
> Ah, sorry. I Forgot it totally.
> 
> It is a plain console program under Linux.
> 
> Yes, the remaining program starts the crashing one and I would like to 
> check
> the results? Yes, a run-time error was there.
> 
> I start the program with a console command.
> 
> An unhandled exception occured at $0814EC41:
> EAccessViolation:  Access violation
>   $0814EC41
>   ...
>   ...
>   ...
> 
> This messages I need to read automatically

OK. You still missed to provide information on how you start the 
crashing program from the remaining program - certain approaches don't 
allow simple access to the result (e.g. checking whether it's still 
running or accessing the process exit code), whereas others do. However, 
in general, you need to redirect the output and stderr handles (e.g. to 
a pipe if doing it under Linux, but a file would do as well) and read 
them from the remaining program. As an example, TProcess (in unit 
Process) provides means for all of this.

Tomas



> 
> Am Freitag, 1. September 2023, 16:13:54 CEST schrieb Tomas Hajny via 
> fpc-
> pascal:
>> On 2023-09-01 15:43, Rainer Stratmann via fpc-pascal wrote:
>> 
>> 
>> Hello,
>> 
>> > Where can I find the output of the error messages if a program crashes.
>> >
>> > There is another program that still is running.
>> > I want to read the error messages automatically if that is possible.
>> 
>> I'm afraid that we'd need a bit more information on what is your
>> situation and what you try to achieve. In particular:
>> 
>> 1) What kind of an application is your program (console, GUI, ...),
>> under which operating system?
>> 
>> 2) You mention that there is another program that is still running - 
>> do
>> you mean that the remaining program starts the crashing one and you
>> would like to check the results? If this is the case, how you start 
>> the
>> program (Dos.Exec, SysUtils.ExecuteProcess, Process.TProcess, ...)?
>> 
>> 3) What do you mean if you say "crashes" - a run-time error? Or a GUI
>> message box stating that the program crashed? Or...?


More information about the fpc-pascal mailing list