Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
When I run the TCL in the GDB.There is an error as follows:
Program received signal SIGFPE, Arithmetic exception.
ZBR::c_skip (Li=50725377) at zbr/zbr.cc:2106
2106 Cm_sum = Cm_sum + pow(NetSystemConfig.Cm, k);
After I run bt to look for stack information. There are some information as follows.But I don't know how to analysis the stack information.Can you help me?Thank you very much.
#0 ZBR::c_skip (Li=50725377) at zbr/zbr.cc:2106
#1 0x082c90d6 in ZBR::rt_clusterhead (this=0x886c220, dst=4)
#2 0x082c7160 in ZBR::recvRequest (this=0x886c220, p=0x8b3f308)
#3 0x082c70b7 in ZBR::recvZBR (this=0x886c220, p=0x8b3f308) at zbr/zbr.cc:1183
#4 0x082c6f2b in ZBR::recv (this=0x886c220, p=0x8b3f308) at zbr/zbr.cc:1123
#5 0x081ce899 in Classifier::recv (this=0x886afb0, p=0x8b3f308, h=0x0)
#6 0x081c71cd in NsObject::handle (this=0x886afb0, e=0x8b3f308)
#7 0x081c43bc in Scheduler::dispatch (this=0x87f6240, p=0x8b3f308,
t=10.323193112133071) at common/scheduler.cc:150
#8 0x081c42f0 in Scheduler::run (this=0x87f6240) at common/scheduler.cc:129
#9 0x081c449d in Scheduler::command (this=0x87f6240, argc=2, argv=0xbfffd6f8)
#10 0x083bd85a in TclClass::dispatch_cmd(void*, Tcl_Interp*, int, char const**)
#11 0x083c1431 in OTclDispatch (cd=0x87f6118, in=0x862b3e8, argc=3,
argv=0xbfffd7f0) at otcl.c:434
#12 0x083c546e in TclInvokeStringCommand ()
#13 0x083c7acd in TclEvalObjvInternal ()
#14 0x083f1ff2 in TclExecuteByteCode ()
Everywhere you see '#<number>' is a stack frame, #0 is the current stack frame. The backtrace command just shows you the sequence of function calls the program made to get to where it is. If this isn't what you were after then maybe you wanted to see what values were actually on the stack -
You can modify the number if you have larger stack usage
When I run display/24xw $esp.There are some information as follows.But I don't know what this mean.
0xbfffd380: 0x00000000 0x40100000 0x00000000 0x407ff000
0xbfffd390: 0x08bb3338 0x00000015 0x30553261 0x0004a92a
0xbfffd3a0: 0x00000004 0x00000001 0xe3a22f83 0x4024a5a0
0xbfffd3b0: 0x086e4410 0x00000018 0x55555555 0x7fd55555
0xbfffd3c0: 0x00000000 0x7fd00000 0x00000200 0x30553261
0xbfffd3d0: 0x3f33a92a 0x00000000 0xbfffd418 0x082c9109
These are addresses inside the program binary. In general, you will want to compile your program with debug options turned on (-g in gcc) to get human readable translations of the addresses spewed forth by gdb.
These are the 32bit values on the stack, they could be saved registers, pointers or temporary variables -it's up to you to know how your program uses the stack and whether each value is valid/expected.