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

Rainer Stratmann rainerstratmann at t-online.de
Fri Sep 1 19:07:13 CEST 2023


Am Freitag, 1. September 2023, 17:57:26 CEST schrieb Tomas Hajny via fpc-
pascal:
> 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

Look above.
> > I start the program with a console command.
More precisely: I start the crashing program with a shell command from the 
remaining program.

Everything runs as root. These are more or less the only programs on this 
(mini-itx embedded) computer running. I have full control then.

> - 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.

If I start the program with

program 2>output.txt

it works! Thank you.

> 
> 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...?
> 
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal






More information about the fpc-pascal mailing list