Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2023-09

Program crash - read the error messages

8 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Rainer Stratmann

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.

Reply by email

Tomas Hajny
to Rainer Stratmann

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

Tomas

Reply by email

Rainer Stratmann
to Tomas Hajny

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

Am Freitag, 1. September 2023, 16:13:54 CEST schrieb Tomas Hajny via fpc- pascal:

Show quoted text 28 lines
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...? Tomas _______________________________________________ fpc-pascal maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

Tomas Hajny
to Rainer Stratmann: Ah, sorry. I Forgot it totally. It is a plain console program under Linux. Yes, the…
Rainer Stratmann wrote 18 lines
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

Show quoted text 29 lines
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...?

Reply by email

Rainer Stratmann
to Tomas Hajny: OK. You still missed to provide information on how you start the crashing program from…

Am Freitag, 1. September 2023, 17:57:26 CEST schrieb Tomas Hajny via fpc- pascal:

Show quoted text 23 lines
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.

Show quoted text 7 lines
- 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.

Show quoted text 36 lines
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 - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email