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