Debug Tutorial: Example Session Output

Go to:

% debug -sz 8 galaxyf

 *** Debug (Parallel Debugger), Release 1.6 beta
 *** Copyright (c) 1990,1991,1992,1993,1994,1995,1996 Intel Corporation

 *** reading symbol table for /home/karla/galaxyf...

 *** initializing Debug for parallel application...
 *** load complete

(all) > use + galaxy

*** Global path list:
galaxy

(all) > context(1)

(1) > context(all)

(all) > process
        Context             State      Reason    Location     Procedure
  ====================== ============ ========= ========== ====================
>*(all)                  Initial                Line 24    main()

(all) > list

***** (all) *****
galaxy/main.c
* 24     {
  25     int            num_nodes;
  26 
  27 
* 28     SetClock();
  29 
* 30     my_node   = mynode();
* 31     num_nodes = numnodes();
  32 
  33     /*\ Assert where messages will be sent to
  34     \*/
(all) > list
***** (all) *****
galaxy/main.c
  34     \*/
  35 
* 36     DetermineRouting( my_node, num_nodes, &left_node, &right_node);
  37 
* 38     InitializeMessages( my_node, num_nodes);
  39 
  40     /*\ Distribute work
  41     \*/
  42 
* 43     if ( my_node == 0)
* 44         Create();
(all) > list 40
***** (all) *****
galaxy/main.c
  40     /*\ Distribute work
  41     \*/
  42 
* 43     if ( my_node == 0)
* 44         Create();

* 46         Collapse();
  47     else
* 48         Form();
  49 
  50     /*\ Barrier

(all) > stop 44; stop 46; stop 48


(all) > status


( 1) stop at line 44:main.c:main():(all) 
( 2) stop at line 46:main.c:main():(all) 
( 3) stop at line 48:main.c:main():(all) 

(all) > cont; wait

        Context             State      Reason    Location     Procedure
  ====================== ============ ========= ========== ====================
>*(0)                    Breakpoint   C Bp1     Line 44    main()
>*(1..6)                 Breakpoint   C Bp3     Line 48    main()
>*(7)                    Breakpoint   C Bp2     Line 46    main()

(all) > print my_node

***** (0) *****
 ** `main.c`main`44`my_node **
my_node = 0
***** (1) *****
 ** `main.c`main`44`my_node **
my_node = 1
***** (2) *****
 ** `main.c`main`44`my_node **
my_node = 2
***** (3) *****
 ** `main.c`main`44`my_node **
my_node = 3
***** (4) *****
 ** `main.c`main`44`my_node **
my_node = 4
***** (5) *****
 ** `main.c`main`44`my_node **
my_node = 5
***** (6) *****
 ** `main.c`main`44`my_node **
my_node = 6
***** (7) *****
 ** `main.c`main`44`my_node **
my_node = 7
(all) > print recvLeft.fMessage,10
***** (all) *****
 ** `main.c`main`44`recvLeft.fMessage **
  recvLeft.fMessage[0] = '\0000'
  recvLeft.fMessage[1] = '\0000'
  recvLeft.fMessage[2] = '\0000'
  recvLeft.fMessage[3] = '\0000'
  recvLeft.fMessage[4] = '\0000'
  recvLeft.fMessage[5] = '\0000'
  recvLeft.fMessage[6] = '\0000'
  recvLeft.fMessage[7] = '\0000'
  recvLeft.fMessage[8] = '\0000'
  recvLeft.fMessage[9] = '\0000'
(all) > stop `form`20
(all) > cont; wait

^C

(all) > process
        Context             State      Reason    Location     Procedure
  ====================== ============ ========= ========== ====================
>*(0,1,3,5,7)            Executing                         unknown fcn
>*(2,4,6)                Breakpoint   C Bp4     Line 20    Form()

(all) > halt

(all) > process
        Context             State      Reason    Location     Procedure
  ====================== ============ ========= ========== ====================
>*(0)                    Interrupted            0x00033697 def_vrecv()
>*(1,3,5,7)              Interrupted            0x0002c063 sptl_ind_msg_probe()
> (2,4,6)                Breakpoint   C Bp4     Line 20    Form()

(all) > where

***** (0) *****
def_vrecv() [unknown{} 0x00033697]
_reduce_short() [unknown{} 0x000309ba]
_gsync() [unknown{} 0x0002111b]
gsync() [unknown{} 0x00020fe0]
main(int, char**) [main.c{} #55]
cstart() [unknown{} 0x00028cf6]
????() [collapse.c{} 0x00020120]
***** (1) *****
sptl_ind_msg_probe() [unknown{} 0x0002c063]
_msgwait() [unknown{} 0x00025858]
_crecv() [unknown{} 0x000242fa]
crecv() [unknown{} 0x00024274]
Form(void) [form.c{} #16]
main(int, char**) [main.c{} #53]
cstart() [unknown{} 0x00028cf6]
????() [collapse.c{} 0x00020120]
***** (2,4,6) *****
Form(void) [form.c{} #20]
main(int, char**) [main.c{} #53]
cstart() [unknown{} 0x00028cf6]
????() [collapse.c{} 0x00020120]
***** (3,5) *****
sptl_ind_msg_probe() [unknown{} 0x0002c063]
_msgwait() [unknown{} 0x00025858]
_crecv() [unknown{} 0x000242fa]
crecv() [unknown{} 0x00024274]
Form(void) [form.c{} #16]
main(int, char**) [main.c{} #53]
cstart() [unknown{} 0x00028cf6]
????() [collapse.c{} 0x00020120]
***** (7) *****
sptl_ind_msg_probe() [unknown{} 0x0002c063]
_msgwait() [unknown{} 0x00025858]
_crecv() [unknown{} 0x000242fa]
crecv() [unknown{} 0x00024274]
Collapse(void) [collapse.c{} #16]
main(int, char**) [main.c{} #46]
cstart() [unknown{} 0x00028cf6]
????() [collapse.c{} 0x00020120]
(all) > list Form
***** (all) *****
galaxy/form.c
  1 #include 
  2 #include 
  3 #include 
  4 
  5 #include "galaxy.h"
  6 
  7 
  8 
  9 void Form()
* 10     {
* 11     if ( my_node & 0x01)
  12         {
* 13         csend( 0, &sendLeft, sizeof( TMessage), left_node, 0);
* 14         csend( 0, &sendRight, sizeof( TMessage), right_node, 0);
* 15         crecv( 0, &recvLeft, sizeof( TMessage));
* 16         crecv( 0, &recvRight, sizeof( TMessage));
  17         }
  18     else
  19         {
* 20         crecv( 0, &recvLeft, sizeof( TMessage));

(all) > recvqueue

 *** Unsatisfied receives posted in (all)

                                                    Msg Length
  Recv Posted By      For Msg From      Msg Type    (in bytes)
================== ================== ============ ============
(1)                (-1)               0            68          
(3)                (-1)               0            68          
(5)                (-1)               0            68          
(7)                (-1)               0            68 

(all) > sendqueue

 *** Unreceived messages in (all)

                                                    Msg Length
      Source          Destination       Msg Type    (in bytes)
================== ================== ============ ============
(1)                (2)                0            68          
(3)                (2)                0            68          
(3)                (4)                0            68          
(5)                (4)                0            68          
(5)                (6)                0            68          
(7)                (6)                0            68          

(all) > delete all

(all) > cont; wait
End simulation
<1> -- <  0: Calculate from   0.00% to  12.50%>
<4> -- <  3: Calculate from  37.50% to  50.00%>
<2> -- <  1: Calculate from  12.50% to  25.00%>
<3> -- <  2: Calculate from  25.00% to  37.50%>
<6> -- <  5: Calculate from  62.50% to  75.00%>
<5> -- <  4: Calculate from  50.00% to  62.50%>
<7> -- <  0: Calculate from   0.00% to  12.50%>
...total time:  0.019430
<1> -- <  2: Calculate from  25.00% to  37.50%>
<4> -- <  5: Calculate from  62.50% to  75.00%>
<2> -- <  3: Calculate from  37.50% to  50.00%>
<3> -- <  4: Calculate from  50.00% to  62.50%>
<6> -- <  7: Calculate from  87.50% to 100.00%>
<5> -- <  6: Calculate from  75.00% to  87.50%>
<7> -- <  6: Calculate from  75.00% to  87.50%>
<0> -- <  1: Calculate from  12.50% to  25.00%>
<0> -- <  7: Calculate from  87.50% to 100.00%>
        Context             State      Reason    Location     Procedure
  ====================== ============ ========= ========== ====================
>*(all)                  Exiting                0x000404d0 exit()

(all) > quit

*** Debug exiting
/cougar/bin/yod: Received SIGINT (2)
Acknowledgement and Disclaimer