This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: beginner


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]