File tree Expand file tree Collapse file tree 1 file changed +21
-2
lines changed Expand file tree Collapse file tree 1 file changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -821,6 +821,20 @@ void signalTrace(SDL_bool debugBreak, SDL_bool debugError = SDL_FALSE) {
821821 SDL_UnlockMutex (g_lock);
822822}
823823
824+ void dumpStack (socket_t socket) {
825+ for (int i = prog_stack_count - 1 ; i > -1 ; i--) {
826+ stknode_t node = prog_stack[i];
827+ switch (node.type ) {
828+ case kwFUNC:
829+ net_print (socket, " FUNC\n " );
830+ break ;
831+ case kwPROC:
832+ net_print (socket, " SUB\n " );
833+ break ;
834+ }
835+ }
836+ }
837+
824838int debugThread (void *data) {
825839 int port = ((intptr_t ) data);
826840 socket_t socket = net_listen (port);
@@ -852,10 +866,15 @@ int debugThread(void *data) {
852866 break ;
853867 case ' v' :
854868 // variables
869+ net_print (socket, " Variables:\n " );
855870 for (unsigned i = SYSVAR_COUNT; i < prog_varcount; i++) {
856- pv_writevar (tvar[i], PV_NET, socket);
857- net_print (socket, " \n " );
871+ if (!v_isempty (tvar[i])) {
872+ pv_writevar (tvar[i], PV_NET, socket);
873+ net_print (socket, " \n " );
874+ }
858875 }
876+ net_print (socket, " Stack:\n " );
877+ dumpStack (socket);
859878 net_print (socket, " \1 " );
860879 break ;
861880 case ' b' :
You can’t perform that action at this time.
0 commit comments