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