..debugging is fun... (not)...
This is my test :
SuperStrict
Print "Hello"
DebugStop
Local i:Int = 10
For Local n:Int = 1 To i
Print n
Next
The first part is running an App in debug from GTK IDE :
Okay... I attached
strace to the debugged app.
While paused (at the DebugStop) it appears to generate lots of
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn() = ? (mask now [])
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn() = ? (mask now [])
which I can only assume is a timer.
When I hit Stop / Halt (the red button), I get an endless repeating of:
read(0, "", 4096) = 0
write(2, "~>\n", 3) = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) @ 0 (0) ---
read(0, "", 4096) = 0
write(2, "~>\n", 3) = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) @ 0 (0) ---
read(0, "", 4096) = 0
write(2, "~>\n", 3) = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) @ 0 (0) ---
interspersed with occasional SIGALRM.
Right, I did the same thing from the FLTK IDE...
The app executes, and stops at the DebugStop. I the run strace on the app PID, and while paused it generates the same as before - lots of SIGALRMs.
However, when I press Stop in the IDE, I get this instead :
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn() = ? (mask now [])
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn() = ? (mask now [])
write(2, "~>StackTrace{\n", 14) = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) @ 0 (0) ---
Process 20070 detached
As soon as it gets a "Broken pipe", it halts.
So the question is, what is causing the GTK-started debug not to stop at the same point?
:-(