> gui debugger should have a button to view stack. The gui debugger shows the stack one line per definition in the middle panel, and has a button to view dbstack''. The stack viewer could be a bit smarter, allowing drill-down to view the parameters better.
On Tue, May 14, 2019 at 5:28 PM bill lam <[email protected]> wrote: > 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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
