Tom Walsh wrote:
Marc Weustink wrote:
Tom Walsh wrote:
I am having trouble debugging a console app using the lazarus IDE under linux. The application uses readln and writeln statements to interact with the user, there are no gui components in the app. The lazarus IDE is far easier to use to control gdb than using the command line console to debug the app (e.g. mouse hover).

I do understand that there is an issue with console apps where stdin and stdout cannot be seperated between the running application and data for gdb. But, isn't there some solution for this? I was looking at the Run Parameters and see that there is a Launching Application and Display (assuming this is for a remote X display)?

I can debug the app if I don't set either a Launching Application (xterm) or a Display, but then I don't have any console I/O. The application will sit on a readln statement waiting for input from a stdin that doesn't exist. When I use a Launching Application (xterm), then none of the breakpoints I set work. I haven't quite figured out how to use the Display under Run Parameters to export to a console on another machine.

Help!  How do you do this?

Not in lazarus, it won't work. Figuring out how to debug an app started in a xterm has low priorities for me.

The only thing I can think of is use gdb itself (or if you want some frontend for gdb, use ddd)


I understand that, I would to spend some time at pursuing the issue. I have been thinking is that you are controlling the underlying gdb via STDIN, STDOUT and that is the problem?

That is exactly the problem.

I would like to look into using two FIFOs for that communication to gdb.

Maybe you can find them, but I couldn't.
The -mi mode we use has even a defined way of representing the app stdout, but unfortunatly even that isn't used in all cases.

The gdb source I can deal with, where would I look for the lazarus point at which it communicates with gdb? Is there a single point of access or do you have it scattered around a number of source files?

1 source: GDBMiDebugger
(however the communication with the stdin/out is done in a parent class)

Marc

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to