07-17-2013
Knowing the size and location of variables in a C program
So I need some help with this. Pardon me if I'm posting in the wrong forum, after some googling for my answer and finding nothing I found this forum. It seemed appropriate for what I was seeking. I just didnt find a forum that concerned the use of GDB. I'm learning to use the C language and GDB. What I don't understand is how the computer knows how big each piece of a program is in memory, and how I could find my variable's in memory using GDB.
For example how does the computer know that the disassembled instructions from main() are <main+##>? Is there a flag between each variable in memory on the stack? Or does the CPU reference the text segment with the variable in memory to know where a variable begins and ends?
I mean if all memory is numbered how can anyone including the CPU know where a word or giant or w/e starts and ends?
If I wanted to find my variable in memory after setting a break point in it and accessing the $esp register how would I know where my variables began and ended?
When I use the examine command "x" I don't know how to know where my variable begins and ends. Would it be the $ESP register on the stack minus the word size of my variable? $EIP shows how many bytes from main and the previous instruction when you disassemble something but everything on the stack is just numbers.
Any help would be much appreciated!
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
Wish if could provide some clues.
How do I dump all the C program variables(global) into say a file with their names and the values. So that when I restart the application again I could use this same file for reinitializing.Is this possible?
Thanks,
Reji (1 Reply)
Discussion started by: rejise
1 Replies
2. Programming
Is there a way to find the address of stack memory writing a program? Please guide me (12 Replies)
Discussion started by: jacques83
12 Replies
3. Solaris
hey everybody,
i am currently working on solaris 10 os on a m5000 server. my problem is when i want the exact size of a program in execution, i am unable to do it. earlier i thought the RSS field of prstat but because of its large size it cant be the size. pmap -x shows some output but it includes... (2 Replies)
Discussion started by: aryansheikh
2 Replies
4. Shell Programming and Scripting
Hello everyone,
I am trying to figure out where all of my environment variables are getting set.
When I type env I get a whole list of them, about two pages full, yet I do not seem to find where they are initialized.
I checked all of my .profile .login and .cshrc files (I do not seem to have any... (1 Reply)
Discussion started by: gio001
1 Replies
5. UNIX for Dummies Questions & Answers
Hello Geniuses of the unix world. please help, stupid chemist. I have the following script that I need to create a file. Doesnt make sense unless i explain this way: I need to create a file called summary.in I would like all these lines to be inserted however in the command line I would like the... (1 Reply)
Discussion started by: gingburg
1 Replies
6. UNIX for Dummies Questions & Answers
Hello all,
one of application on system requires that "uname" program is in "/usr/uname" location. I can find uname in "/usr/bin/uname" location. Is it possible to present the /usr/bin/uname as that it was located in /usr/uname location?
Thank you in advanced,
M (1 Reply)
Discussion started by: kreno
1 Replies
7. UNIX for Dummies Questions & Answers
this method is not working.I am having a problem to use variables in system command. i cannot use the variables in system command.
this how i was did
system("whereis command");
this method works very fine. but, i want use the commands as variable.
that means i want only pass the variables.... (6 Replies)
Discussion started by: dhanda2601
6 Replies
8. UNIX for Dummies Questions & Answers
so i was testing something on a test box running linux. i manually vi'ed the /var/log/messages file. and i noticed, the file immediately stopped being updated.
it wasn't until i restarted the syslog process that events started being recorded in it again.
so that tells me, the syslog process... (20 Replies)
Discussion started by: SkySmart
20 Replies
9. Programming
Hello,
Here is a portion of my code:
a=(int *) malloc(dim*dim*sizeof(int));
b=(int *) malloc(dim*dim*sizeof(int));
c=(int *) malloc(dim*dim*sizeof(int));
for(i=0;i<dim;i++)
for(j=0;j<dim;j++)
c= rand();
for(i=0;i<dim;i++)
for(j=0;j<dim;j++)
b=rand();
... (6 Replies)
Discussion started by: chercheur111
6 Replies
10. Shell Programming and Scripting
This question could be specific to the site subdivx.com In the past, I've been able to download a file following location using cURL but there is something about subdivx.com that's different and can't figure out how to get it to work.
I tried the following directly in the terminal with no... (5 Replies)
Discussion started by: MoonD
5 Replies
LEARN ABOUT SUSE
mrtg-forum
MRTG-FORUM(1) mrtg MRTG-FORUM(1)
NAME
mrtg-forum - Interactive Help for MRTG users
SYNOPSIS
There is a lot of written documentation for mrtg, but nevertheless you may have a problem where you can't find the solution. In this case
some Human Help may be necessary. With MRTG there are several ways to get Humans to help you.
MAILING-LIST
There are three mailing lists for MRTG available.
mrtg
for discussion among mrtg users.
mrtg-announce
for announcements regarding new versions of mrtg related software.
mrtg-developers
for discussion among people who write software in connection with mrtg or who hack mrtg itself.
THE RULES
Please note that the memebers of the mrtg mailinglist value politeness highly. This means behave in a way you would like others to behave
towards you.
o No shouting. (NO CAPS)
o No rude language
o No demands. everybody is on the list out of their own free will. If you do not get an answer to your question, chances are high that
you did not give sufficent details about the nature of your problem or that the answer to your problem is in the documentation.
o If you do not follow the rules you will be unsubscribed from the list with no further questions asked.
o Decisions about your unsubscription from the list will be taken by
Alex van den Bogaerdt <alex at ergens.op.het.net>
Paul C. Williamson <pwilliamson at MANDTBANK.COM>
If you feel that you have been treated unfairly, you may send mail to me and explain the situation.
Tobi Oetiker <tobi@oetiker.ch>
SUBSCRIBING
These lists are managed by a mailing-list management program (listar). It allows you to subscribe to these lists by sending a message with
the subject: subscribe to the following address:
listname-request@lists.oetiker.ch
You will then get a message asking you to confirm your subscription.
For posting to the lists use the following address
listname@lists.oetiker.ch
Note that only people who are subscribed to the list can post.
Further information about the usage of the mailing lists is available by sending a message with the subject line help to either one of the
request addresses.
There is also a webinterface to the lists on
http://lists.oetiker.ch
List archives are on
http://www.mail-archive.com/index.php?hunt=mrtg
and
http://gmane.org/find.php?list=mrtg
NEWSGROUP
For discussion of MRTG or related topics on the Usenet, please send your posts to:
news:comp.dcom.net-management
Many MRTG users are in this forum and will help you. You can also find an archive of past activity from this Newsgroup on:
http://groups.google.com/group/comp.dcom.net-management
IRC Channel
For discussion of MRTG and related topics on IRC, the `#mrtg' channel on EFNet has been created.
More information can be found at
http://mrtg.easymac.org
MRTG Japan
There is a special Mailinglist for MRTG Users in Japan. It carries translations of the traffic from MRTG-ANNOUNCE as well as updates on the
Japanese Translation of the MRTG documentation. Go to http://www.mrtg.jp/ for further Information.
MRTG Turkiye
There is a special Mailinglist for MRTG Users in Turkey. Go to http://groups.yahoo.com/group/mrtg-turkiye/ for more information.
AUTHOR
Tobias Oetiker <tobi@oetiker.ch> and many contributors
2.16.2 2008-05-16 MRTG-FORUM(1)