Nov 21, 2009

C/c++ -gdb Linux Debug Tool - Simple Gdb tutorial

free web hosting
Open Discussion & Free Web Hosting > Computers & Tech > How-To's and Tutorials > Programming > C and C++

C/c++ -gdb Linux Debug Tool - Simple Gdb tutorial

kanade
To run the C/C++ file use

$ gcc –g –o test sample.cpp

To debug the code use following command

$ gdb test --- you will get following messages

GNU gdb Red Hat Linux (6.3.0.0-1.122rh) Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) b 4 -- Set the break point for your code, here I have set for 4th line of the code

Breakpoint 1 at 0x8048384: file test2.c, line 4.

(gdb) r -- once the break point is set use “r “ to run the code

Starting program: /home/tests/test
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x8b5000
Breakpoint 1, main () at test2.c:5
5 {

(gdb) n -----press “n” to go to next line

main () at test2.c:7
7 max=MAX(5,4,3);

(gdb) n -----press “n” to go to next line

8 printf("\n%d",max);

(gdb) print max -----use “print” command to print any variables

$1 = 5

(gdb)

will add some more command to this at later stage.......

 

 

 


Comment/Reply (w/o sign-up)

ml01172
It would be great if you added some info on debugging programs with threads. I'll take your turn now smile.gif

Typing:
info threads

will result in displaying which threads exist in the moment. The numbers in the first column (1, 2 etc.) represent the threads' ids. Once you know these ids, you can switch to corresponding threads like this:

thread 2

GDB will now be executing that thread in the front, while other threads will continue working in the background. You can use the usual techniques described above (next, quit, step, continue etc.) in this thread.

Debugging with threads tends to be complicated since multiple things happen at the same time. One might consider using sleep() in a thread so it doesn't "run away" before you switch to it in the debugger.


Comment/Reply (w/o sign-up)


Got an Opinion! Express your Views! (no registration):-
Add your Reply/ Opinion/ Views/ Comments/ Suggestion/ Questions/ Queries etc.
Posts with decent grammar & English will be accepted and please refrain from profanities.
For asking a Question, We recommend you to sign-up (for free) so that you can track the topic easily.

Nature of your Post*: Opinion/ Reply/ Comments
Question/Query
Feedback to us.
       
Name   Email
Title/Question*

This textarea will convert to Rich-Text automatically (IE, Firefox, Chrome)

Similar Topics

Keywords : Cc Gdb Linux Debug Gdb


    Looking for c, c, gdb, linux, debug, tool, simple, gdb, tutorial

See Also,

*SIMILAR VIDEOS*
Searching Video's for c, c, gdb, linux, debug, tool, simple, gdb, tutorial
advertisement



C/c++ -gdb Linux Debug Tool - Simple Gdb tutorial

Affordable Web Hosting, Low cost Web Hosting - ComputingHost.com