This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: beginner
- From: srinivas bakki <srinivasbakki at yahoo dot co dot uk>
- To: Arun Paneri <p26a at yahoo dot com>
- Cc: gdb at sourceware dot org
- Date: Fri, 1 Feb 2008 03:32:37 +0000 (GMT)
- Subject: Re: beginner
Thank you all people, it seems i have enough at hand
now. may be i'll keep pestering with all those silly
doubts though :)
Regards
Srinivas Bakki
--- Arun Paneri <p26a@yahoo.com> wrote:
> See this mail chain if it helps you (Courtesy
> Michael Snyder)
>
> Also go through this site
>
http://sourceware.org/gdb/current/onlinedocs/gdbint_toc.html
>
> Regards.
>
> var YAHOO = {'Shortcuts' : {}};
> YAHOO.Shortcuts.hasSensitiveText = false;
> YAHOO.Shortcuts.sensitivityType = [];
> YAHOO.Shortcuts.doUlt = false;
> YAHOO.Shortcuts.location = "us";
> YAHOO.Shortcuts.document_id = 0;
> YAHOO.Shortcuts.document_type = "";
> YAHOO.Shortcuts.document_title = "Re: Pls help:
> regarding gdb internals";
> YAHOO.Shortcuts.document_publish_date = "";
> YAHOO.Shortcuts.document_author =
> "msnyder@specifix.com";
> YAHOO.Shortcuts.document_url = "";
> YAHOO.Shortcuts.document_tags = "";
> YAHOO.Shortcuts.annotationSet = {
>
> };
>
> On
> Wed,
> 2008-01-16
> at
> 11:59
> -0800,
> Arun
> Paneri
> wrote:
> >
> Hi
> All,
> >
> >
> I
> am
> new
> to
> gdb
> code
> and
> trying
> to
> learn
> more
> things.
> i
> need
> help
> regarding
> gdb
> internals.
> >
> >
> Can
> anyone
> write
> few
> lines
> about
> how
> does
> gdb
> internally
> works.
> >
> I
> went
> to
> "Gdb
> internals
> guide"
> but
> couldn't
> find
> much
> information
> >
> specifically
> which
> i
> am
> looking
> for.
> I
> want
> information
> like
> >
> when
> we
> give
> command
> >
> "$gdb
> test.exe"
> >
> then
> how
> internaly
> it
> works.
> Does
> it
> start
> reading
> symbols
> >
> and
> start
> making
> symbol
> table
> with
> this
> command
> ?
>
> Yes.
>
> >
> Does
> it
> start
> creating
> stack
> frames
> as
> we
> give
> command
> "run"
> or
> before
> even
> that
> with
> "$gdb
> test.exe"?
>
> No,
> and
> no.
> Before
> you
> "run"
> a
> program,
> there
> are
> no
> stack
> frames.
> But
> gdb
> does
> not
> start
> constructing
> its
> internal
> stack
> frame
> representation
> until
> the
> program
> STOPS,
> eg.
> at
> a
> breakpoint
> or
> after
> executing
> a
> "step".
>
> >
> I
> am
> basically
> interested
> to
> know
> about
> creation
> of
> frames
> and
> how
> does
> gdb
> read
> them
> back
> when
> we
> give
> "backtrace"
> command?
>
> For
> performance
> reasons,
> gdb
> tries
> to
> construct
> its
> stack
> frame
> data
> lazily
> --
> it
> postpones
> the
> work
> whenever
> possible.
>
> So,
> in
> general,
> whenever
> the
> program
> stops,
> gdb
> will
> construct
> one
> (and
> hopefully
> only
> one)
> stack
> frame
> --
> the
> one
> for
> the
> function
> in
> which
> the
> program
> stopped.
>
> If
> you
> give
> the
> "up"
> command,
> gdb
> will
> construct
> the
> next
> (one)
> stack
> frame.
>
> If
> you
> ask
> for
> "backtrace
> 10"
> it
> will
> construct
> the
> next
> ten
> stack
> frames.
> And
> if
> you
> ask
> for
> a
> full
> backtrace,
> gdb
> will
> construct
> as
> many
> stack
> frames
> as
> it
> can
> find.
>
> >
> >
> I
> am
> not
> sure
> but
> i
> think
> to
> creat
> a
> frame
> it
> calls
> _initialize_stack
> (void)
>
> No.
> That
> function
> is
> the
> initializer
> for
> the
> "stack.c"
> module.
> It
> is
> called
> when
> gdb
> starts
> up,
> and
> just
> initializes
> the
> infrastructure
> for
> stack
> manipulation.
>
> >
> and
> from
> this
> it
> calls
> fun_command(char
> *arg,
> int
> from_tty)
> then
> parse_frame_specification(char
> *frame_exp)
> &
> then
> create_new_frame(CORE_ADDR
> addr,
> CORE_ADDR
> pc)
> function.
>
> Start
> with
> the
> function
> "get_prev_frame",
> and
> work
> your
> way
> up
> (and
> down)
> from
> there.
>
>
>
>
>
>
>
>
>
> ----- Original Message ----
> > srinivas
> >
> bakki
> >
> wrote:
> > >
> >
> Hi
> >
> people,
> > >
> >
> I
> >
> wanted
> >
> to
> >
> start
> >
> going
> >
> through
> >
> the
> >
> GDB
> > >
> >
> source
> >
> code
> >
> to
> >
> learn
> >
> how
> >
> it
> >
> is
> >
> implemented,
> >
> what
> >
> goes
> > >
> >
> into
> >
> the
> >
> application
> >
> and
> >
> its
> >
> various
> >
> nuances,
> >
> perhaps
> > >
> >
> in
> >
> a
> >
> direction
> >
> to
> >
> be
> >
> an
> >
> active
> >
> contributor
> >
> to
> >
> gdb.
> > >
> > >
> >
> But
> >
> am
> >
> not
> >
> able
> >
> to
> >
> get
> >
> a
> >
> clue
> >
> for
> >
> the
> >
> starting
> >
> point.
> > >
> >
> where
> >
> should
> >
> i
> >
> start
> >
> digging
> >
> the
> >
> code
> >
> ?
> > >
> > >
> >
> Would
> >
> be
> >
> great
> >
> if
> >
> you
> >
> people
> >
> help
> >
> me
> >
> through
> >
> this.
> >
> > man
> >
> ptrace
> >
> > You
> >
> should
> >
> have
> >
> a
> >
> good
> >
> understanding
> >
> of
> >
> how
> >
> the
> >
> unix
> > process
> >
> works
> >
> first.
> >
>
>
>
>
>
>
____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.
>
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
___________________________________________________________
Support the World Aids Awareness campaign this month with Yahoo! For Good http://uk.promotions.yahoo.com/forgood/