gui debugger should have a button to view stack. If using 13!:x directly, dbstk, dbstack, dbs, dbst should be helpful. type dbhelp to see a terse summary.
On Wed, May 15, 2019, 6:02 AM Raul Miller <[email protected]> wrote: > This matches the bits and pieces that I remember seeing, and includes > a couple details that I hadn't thought to look for. > > Thanks, > > -- > Raul > > On Tue, May 14, 2019 at 5:55 PM Henry Rich <[email protected]> wrote: > > > > When you hit a suspension, there is a J stack and the C program is in a > > loop at the bottom level of C execution waiting for input. When you say > > 'cut stack', Roger goes sends a message to the current execution level > > saying 'abort', and a message to the next-higher level saying 'restart > > the last instruction'. Then suspension returns, with an error value. > > This errors its way up the C execution levels. It gets to the aborted > > explicit definition, which duly aborts. Execution continues until it > > gets to the next explicit definition, which is where you cut the stack > > back to. That wakes up and runs (unmindful of the pending error), > > restarting at the failing line. Because debug is on, the execution of > > this line is intercepted before it is executed, and you go back into > > suspension at the new level. > > > > No longjmp required. > > > > Henry Rich > > > > On 5/14/2019 2:51 PM, Raul Miller wrote: > > > I think I see what you are getting at: C stack function calls do not > > > show up as stack entries for 13!:x > > > > > > But, for example, if I use (".) or some user defined verb instead of > > > (,) as an example, I can wind up with additional stack frames from my > > > debug session and there will be additional C stack frames behind the > > > scenes which would need to be unwound when cutting back the J stack. > > > > > > (This is in contrast to how threaded code can work -- in threaded code > > > the stack of the host programming language can be kept level when > > > making calls in the client language -- depending on the threading > > > implementation, of course...) > > > > > > Thanks, > > > > > > > > > --- > > This email has been checked for viruses by AVG. > > https://www.avg.com > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
