On 09/04/2014 17:27, Bernd Mueller wrote:
Martin Frb wrote:
Please run with a logfile:
http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Log_info_for_debug_session
I have the log file attached.
What code is on this line?
Stepping will only work, if that code actually reaches the next line.
E.g.:
while (always_true) do inc(a);
Same
Call_Foo_that_will_go_into_an_endless_loop();
would never reach the next line. Stepping over it, is like Run. It will
keep running.
Normally you can hit pause. But In remote-debugging pause only works if
gdb is in "async" mode.
Your gdb did accept async for run(f9). Note the "&"
>> TCmdLineDebugger.SendCmdLn "-exec-continue &"
<< TCmdLineDebugger.ReadLn "^running"
<< TCmdLineDebugger.ReadLn "*running,thread-id="1""
<< TCmdLineDebugger.ReadLn "(gdb) "
But it did not for stepping
>> TCmdLineDebugger.SendCmdLn "-exec-next &"
<< TCmdLineDebugger.ReadLn "^error,msg="A syntax error in expression,
near `&&'.""
Somehow strange, but that is what it did.
So the IDE used none async to do the step. But that means it can not
interrupt (pause/stop) the remote, until the remote stops on its own
(breakpoint/end of step)
The error might be bound to the "mi" made of gdb. That is "n &" might
work. But it will take some work to make the IDE deal with none "mi"
stepping
mi is a interface designed to control gdb from another app / gdb uses
structured answers, instead of human readable. Human readable answers
can differ in different gdb, and a harder to deal with by the IDE.
--------------------------
You could try, if you are on that line, instead of stepping (F8), set a
breakpoint the next line (lines, if there is a conditional), and use F9.
Then, with F9 you should be able to use the pause button
And then try, what happens if you hit the pause button in the IDE?
I stepped through the program until the problem occurred and hit then
pause. As far as I could see, nothing happened. Then I hit stop. This
was recognized by the target with the message, that the remote side
had terminated the connection.
So the remote printed connection lost, when you pressed stop in the IDE.
Then it was still connected?
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus