►
From YouTube: New User Training: 06 Debugging Tools
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
A
So
so
why
do
we
debug?
Why
do
you
use
the
debugger?
The
reason
is
that
you
know
once
you
change
start
to
change
your
code
and
then
you
will
see
that
your
program
does
not
generate
the
character
answers
anymore
and
you
don't
know
why
you
try
to
figure
out
where
that
the
problem
started
or
the
program
separately
crashes,
and
you
don't
know
where
and
the
war
program
just
hangs
and
that
this
kind
of
thing
happen
quite
frequently,
so
you
have
to
develop
in
one
way
or
another.
A
So
maybe
the
usual
thing
that
people
people
do
is
to
put
a
print
statement
here
and
there
in
what
you
considered
as
a
strategic
location.
That's
what
I
did
when
I
was
a
graduate
student
myself
and
I
was
using
the
parental
code
at
the
time,
and
you
know
he
was
written
a
lot
of
data.
So
then
I
have
to
figure
out
how
to
interpret
how
to
assess
the
whether
the
data
is
real,
correct
or
not.
A
So
that's
why
we
are
using
dear
brothers,
and
there
are
many
really
nice
debugging
tools
and
generally
it
doesn't
make
you
compile
every
time
you
try
to
examine
certain
things.
You
know
different
thing,
you
just
compile
once
and
you
don't
do
it
and
then
you
can
the
more
important
things
that
you
can
control
the
execution
pace.
A
Now
or
you
can
just
some
statistics
and
you
with
it,
you
can
quickly,
relatively
speaking,
you
can
quickly
identify
where
the
code
fails.
So
on
Korea
Nelson
we
have
a
several
kinds
of
debuggers.
The
most
traditional
we
based
at
all
is
called
the
DDT
and
attribute
we
have
this.
They
are
pretty
very
useful
and
the
many
people
are
using
them
and
then
we
use
some
specialized
debuggers
called
the
stat
and
ATP
they
are.
They
are
not
very
popular,
but
they
are
very
handy.
A
So
you
use
this
thing
when
you're
cold
hangs
and
you
need
to
know
the
weather
code
hangs
here,
so
you
can
quickly
use
a
day
thing
to
find
out
the
problem
area,
and
once
you
figure
out
the
problem
area,
then
you
can
use
the
DDT
and
the
thurible
to
do
more
in-depth
debugging.
So
this
is
a
very,
very
nice
goal.
These
are
very
nice
tools
and
also
we
have
a
very
grind.
This
is
actually
a
suite
of
debugging
and
profiling
tools.
A
A
You
can
detect
in
memory
the
memory
memory
issue
you
can
detect
the
memory
leaks
as
as
well
so,
and
also
we
have
a
Intel
full
court
inspector
and
we
can
use
use
it
for
detecting
the
thread
threading
like
even
if
we
use
a
OpenMP
and
if
there's
some
race
condition
you
can
detect,
you
can
tell
you
where
the
race
condition
happens
and
also
it
can
be
used
for
memory
debugging
as
well.
Also,
some
interesting
the
tool
that
tools
that
the
Cray
provided
is
called
the
comparative
debugging.
A
You
know
you
just
once
you
modify
a
certain
code
at
certain
point
and
then
you
see
the
results
start
to
deviate
from
the
previous
one.
You
want
to
know
where
that
the
deviation
stars
so
you're,
basically
around
to
cause
side
by
side.
You
know
so
you
to
a
comparative
bugging
and
then
see
that
the
way
that
different
stars,
so
this
is
ccdb
and
LGTB.
A
A
So
as
I
said
that
DDT
and
total
view
are
the
green
baize,
the
traditional
parallel
debuggers
and
it
can
be
used
for
c
c++,
Fortran
MPI,
OpenMP
Pires
and
the
DDT
in
addition
supports
the
quarry
Fortran
UPC
as
well,
and
now
that
these
these
vendors
are
looking
into
expanding
their
debugging
capability
to
Python
here.
So
so,
but
they
are
very
early
stage
and
that
the
abilities
say
that
it
is
supporting
the
Python,
but
on
Korean
as
well
on
Edison
the
with
it
is
not
working
well
so
we
have
to.
A
We
have
to
wait
and
see
and
four
latches
are
up
or
if
you
want
to
run
on
K&L,
you
have
to
use
a
DDT.
The
thought
of
you
was
smaller
stuff,
but
you
know
they
are
very,
have
a
different
kind
of
perspectives.
So
if
we
have
a
certain
problem
which
cannot
be
solved
with
the
DDT,
you
can
use
thought
of
you.
Actually,
a
one
user
deported
and
some
very
challenging
debugging
problem.
He
couldn't
see
the
what
wasn't
wrong
with
a
DDT.
A
So
I
used
a
to
review,
basically
to
see
the
where
the
problem
is
and
I
can
nail
it
down
what
the
problem
is.
He
was
using
the
wrong
dimension
for
certain
array,
so
he
was
making
a
the
he
was
corrupting
the
memory
area,
so
he
got
a
segfault,
but
that
was
not
detected
with
the
DDT,
but
I
could
I
can
find
that
it
I
could
find
it
use
a
tour
review,
so
they's
you
can
use
one
of
the
other
so
how
to
use
a
digit
here.
A
So
once
you
build
executable
that
way,
you
start
a
interactive
job
like
that,
and
then
you
load
this
module
a
linear
force.
We
why?
Last
year
we
changed
there
the
module
name
from
a
linear
tools,
so
a
linear
force
because,
as
Zeng
just
said,
that
we
are
using
spare
for
the
pack
up
equity
management
and
he
looks
like
the
LED
40
is
more
standard,
the
name.
So
we
adapted
our
linear
force,
but
we
are
still
supporting
a
linear
force
but
spare
to
store
this
name.
A
So
the
this
is
our
the
X
based
tools.
So
you
know
the
as
Steve
mentioned
that
because
of
latency
is
very
slow.
So
if
you
click
some
button,
you
have
to
wait
a
very
long
time
to
see
the
the
reason
you
know
this
is
very
difficult.
So
there
are
two
two
solutions
here:
one
is
to
use
the
NX,
the
other
one
is
what
they
call
the
remote
client.
They
provide
the
remote
client
for
free
of
charge.
A
You
can
download
from
here
and
again
and
then
you
can
set
it
up
for
Korean
Edison
using
the
the
steps.
Explain
the
Intel
web
page
here.
So
if
you
open
the
DDT,
you
can
see
the
source
code,
you
can
dedicate
the
sort
you
within
the
source
code
using
these
buttons.
You
know
you
can
go
ahead
and
you
can
move
one
step,
one
line
ahead
and
we
can
stop
execution
and
you
can
create
a
and
also.
This
is
a
very
nice
thing.
A
You
know
you
see
that
on
this
line,
you
are
you
are
in
this
on
this
line.
You
see
that
this
kind
of
line
here,
so
what
is
what
is?
It
is
Forestier
that
the
variation
of
the
very
values
of
this
variable
over
in
Quran,
so
you
can
so
by
simply
looking
at
it.
You
can
tell
whether
that
that
is
a
correct,
behavior
or
not.
A
So
this
kind
of
tool
shows
many
many
bits
of
things
that
are
helpful
for
you
detected
something
okay
and
here
you
can
put
eyes
on
expressions
and
to
get
the
value
to
get
the
expected
value
and
that
this
is
a
dish
that
you
notice,
saying
that
or
I'm
using
16
MP
rains
here.
So
all
16
ranks
are
currently
in
this
routine
set
PC.
A
So
you
know
that
which
rank
is
you
is
where
right
and
as
I
said,
that
you
can
use
these
control
buttons
to
navigate
through
your
program
and
then,
as
I
said
that
you
can,
you
can
make
the
program
run
until
until
the
a
breakpoint
you
start
a
break
one
like
line
100,
you
set
a
breakpoint,
then
the
program
runs
and
then
stops
at
the
line.
100
waiting
for
your
input
and
at
the
point
you
can
display
you
can
evaluate
values.
What
point
is
where
the
program
start?
A
You
USERRA
watch
point
for
a
certain
variable
and
then
program
runs
and
the
stops
when
the
the
value
of
the
variable
changes
here
and
the
trace
point
is
like
you,
just
barked,
where
whether
your
program
reach
at
that
point
here
so
do
I
have
enough
time
here
and
you
can
also
display
the
variables
in
a
different
way.
You
know
right-click
on
the
variable.
What
is
play?
Let
me,
let
me
just
let
me
just
do
some
certain.
They
would
quick
demo
here
so
I
started
already
here.
A
A
B
A
You
know
like
it's
a
yes
yeah,
you
can
put
the
arguments
there
and
also
the
of
anything.
A
finitary
thing.
I
think
that
you
can
put
it.
You
know
the
affinity
that
the
Helen
just
mentioned,
like
not
using
the
messy
value
and
whatever
it
I
think
you
can
also
put
it.
You
know
you
know
different
argument
line
there,
but
the
yeah.
That
is
the
way
you
use
a
liberty
of
the
arguments
that
there
are
needed
for
to
run
your
program.
I,
don't
know
what
is
happening
here.
Any
other
questions
here,
I.
A
A
So
it
is
waiting
for
me
near
the
beginning
of
the
code.
You
know
it
just
it
didn't
pay
in
it
and
then
I
can
say
say
you
know
it
does
a
lot
of
funny
thing,
but
you
can
say
you
can
make
up
the
breakpoint
here.
Okay,
so
break
point
is
978
right.
I
can
put
some
condition
like
you
know.
If
the
it
iteration
certain
value
is
a
greater
than
100,
then
you
can
run
the
this.
You
can
pass
the
breakpoints
99
times
and
100
time.
He
stops
there.
B
B
A
So
you
have
to
rebuild
it
right,
so
I
think
that
this
ones
are
for
ste,
some
sort
of
the
code
revision
code
representing
probably
supports
the
kid
and
the
SVN
how
to
integrate
I'm.
Probably
you
have
to
come
back
in
April
to
see
that,
but
I
think
that,
yes,
you
can,
you
can
rebuild
it,
I
have
to
change
here
and
then
so
so,
probably
that's
that's
what
you
have
to
do.
I
guess
yeah,
but
anyway,
I
I
create
a
the
Brett
point.
A
So
I
can
just
let
it
run
until
it
hit
here
so
interesting
at
this
point,
so
I
can
examine
this
value.
This
is
an
array
you
can
see
that
this
one
is
an
array
of
a
certain
thing
here.
So
let's
view
the
array,
so
it
is
saying
that
the
dimension
of
this
array
is
about
twenty
four
hundred
and
fifty
160
so
evaluate
and
visualize.
A
A
Actually,
it's
not
about
it's,
because
I
wasn't
for
enforcing
the
boundary
condition
at
the
edge
here.
So
this
looks
a
little
funny,
but
it's
correct
one.
You
know
what
I'm
saying
is
that
you
can
visually
check,
whether
that
the
values
are
reasonable
wanna
by
looking
at
it
or
you
can
actually
check
the
statistics.
You
know
whether
you
see
certain
other
value
like
man,
another
number
na
n,
or
you
know
certain
value.
A
A
Okay,
come
on
here
so
so
you
show
the
maximum
and
minimum
there's
no
nen
value.
So
it
looks
okay
and
then
you
can
also,
for
instance,
this
K
value.
You
can
show
these
values
for
different
ranks.
They
all
have
one.
So
if
there's
something
wrong
with
a
disable
you
on
a
certain
rank,
you
can
detect
it
quite
easily.
So
this
kind
of
thing
you
can
do
quite
easily
here.
So
so
that's
all
I
have
and
do
you
have
any
question.