|
Stepping through a C codebase
|
Reply to this subject
Start a new subject
 
Refresh page
| Posted by |
Npp83
(16 posts) bio
|
| Date |
Wed 09 Feb 2011 06:21 PM (UTC) [ quote
] |
| Message |
| Is there a way to step through a C codebase in a debugger so I can get a feel for where the entry point is? I dont know where a codebase like SMAUG starts - what the entry point is. | top |
|
| Posted by |
Nick Cash
USA (626 posts) bio
|
| Date |
Reply #1 on Wed 09 Feb 2011 07:25 PM (UTC) [ quote
] Amended on Wed 09 Feb 2011 07:29 PM (UTC) by Nick Cash
|
| Message |
They entry point for every C program is the main() function. Go find it and look through the function calls from there.
Or you can take your method and step through the code with a debugger like gdb. Numerous posts on how to do so have been posted in this forum.
More or less you need to compile SMAUG with debugging information and then start SMAUG via gdb. In your Makefile there should be a line for compiler flags. Make sure it has -g or -g3. Then do ./gdb smaug port# and enjoy.
See this post for more details:
|
~Nick Cash
http://www.nick-cash.com | top |
|
| Posted by |
Npp83
(16 posts) bio
|
| Date |
Reply #2 on Wed 09 Feb 2011 08:42 PM (UTC) [ quote
] |
| Message |
Excellent, technical reply. Thank you. My programming began with Java mid 2005 and I found and stayed with C# since 2008 so going back as far as C for me and what tools I have available to mimic some of the things I am used to with VS or Eclipse is difficult.
So then is most debugging (debugging tecnniques in C) with gdb done with console output (seeding the code), is there any means of applying breakpoints? | top |
|
| Posted by |
Nick Gammon
Australia (18,770 posts) bio
Forum Administrator |
| Date |
Reply #3 on Wed 09 Feb 2011 09:49 PM (UTC) [ quote
] |
| Message |
Read the link he gave. Another way to get to the same page is:
http://gammon.com.au/gdb
In there I discuss breakpoints. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
995 views.
Reply to this subject
Start a new subject
 
Refresh page
top
Comments to:
Gammon Software support
Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )