Martin wrote:
On 10/09/2011 21:16, Martin wrote:
On 10/09/2011 20:50, Mark Morgan Lloyd wrote:

<< TCmdLineDebugger.ReadLn "(gdb) "
>> TCmdLineDebugger.SendCmdLn "set inferior-tty /dev/pts/2"

Ok, so we may have 2 issues at and.

the debugger never returns on
  set inferior-tty /dev/pts/2
which should have been created by the IDE.

or the IDE never gets the result, because something went wrong with creating it => but then it should not have gotten as far as sending the above...

So still the below stacktrace,. shows the IDE waiting for gdb to return output. yet it should do processMessages, so the ide should be responsive.
Strange


anyway:
in options, on the debugger tab (where you select /usr/bin/gdb), is a list of setting (in an object inspector like grid)
One of the settings is
   ConsoleTty
it is empty by default.
Put /dev/null in there  and see if it helps.

Or if you need to see the debugged apps terminal output, then open a terminal (xterm, or any other) yourself, type "pty", and it will give you something like /dev/pts/<n> which you can put into that setting (so long as you leave that terminal open.

I wonder why that hangs. Nothing there should have changed...
unless some file/handle stuff in fpc changed? getpt() fcntl() tcsetattr() __write() ....


^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xf7f6daa0 (LWP 13397)]
0xf7f0f25c in __read_nocancel () from /lib/libpthread.so.0
(gdb) bt
#0  0xf7f0f25c in __read_nocancel () from /lib/libpthread.so.0
#1  0x00ae7450 in TPSEUDOTERMINAL__READ (this=0xf61fe580, result=0x0)
    at /usr/local/share/lazarus-trunk/debugger/gdbmimiscclasses.pp:539
#2  0x00ae7570 in TPSEUDOTERMINAL__CHECKCANREAD (this=0xf61fe580)
    at /usr/local/share/lazarus-trunk/debugger/gdbmimiscclasses.pp:546

Argh, no => I overlooked the top 2 frames...

I do NOT like them (I do not know yet why not ..)

try the /dev/null
It should work around

At this point there should not be any data to be read.
So the question is why on your system is read triggered.

Still locks up I'm afraid.

  [Debugger] Log output: &"set width 50000\n"
  << TCmdLineDebugger.ReadLn "^done"
  << TCmdLineDebugger.ReadLn "(gdb) "
  >> TCmdLineDebugger.SendCmdLn "set inferior-tty /dev/null"
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xf7f51aa0 (LWP 2480)]
0xf7ef325c in __read_nocancel () from /lib/libpthread.so.0
(gdb) bt
#0  0xf7ef325c in __read_nocancel () from /lib/libpthread.so.0
#1  0x00ae7450 in TPSEUDOTERMINAL__READ (this=0xf5b0b460, result=0x0)
    at /usr/local/share/lazarus-trunk/debugger/gdbmimiscclasses.pp:539
#2  0x00ae7570 in TPSEUDOTERMINAL__CHECKCANREAD (this=0xf5b0b460)
    at /usr/local/share/lazarus-trunk/debugger/gdbmimiscclasses.pp:546
#3 0x00aae40c in TGDBMIDEBUGGER__PROCESSWHILEWAITFORHANDLES (this=0xf61aed20)
    at /usr/local/share/lazarus-trunk/debugger/gdbmidebugger.pp:6878

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to