linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* development tools for interpreting code
@ 2004-12-21 16:17 soraberri
  2004-12-21 16:35 ` Nir Dremer
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: soraberri @ 2004-12-21 16:17 UTC (permalink / raw)
  To: linux-c-programming

Hi all,

In this stage of my learning I am basically trying to understand some 
code that others have develop. The code is about bluetooth tools but 
this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
task with the source that I want to understand loaded into a new 
project, and I always find the same problem which I will describe you in 
terms of an example:

at some point of the code I find a call to a function or a typedef name 
(for exmple str2ba) and I would like to find the header file or even the 
source file where this function (or type) is defined. I can only use the 
Grep:str2ba command found under "Find in files..." dialog but sometimes 
this is not suitable because I have to tell manually the path from the 
starting point of the search, and if I don't know exactly the rigth 
folder, the number of results searched can be too many for examining. I 
guess it may be a better way, since the program compiles and has the 
appropiate includes (#include <header>), so the compiler must know where 
the function is defined.

So, every suggestions would be wellcome,

thaks in advance


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 16:17 development tools for interpreting code soraberri
@ 2004-12-21 16:35 ` Nir Dremer
  2004-12-21 16:53   ` soraberri
  2004-12-21 18:08 ` Jan-Benedict Glaw
  2004-12-21 18:48 ` soraberri
  2 siblings, 1 reply; 9+ messages in thread
From: Nir Dremer @ 2004-12-21 16:35 UTC (permalink / raw)
  To: soraberri; +Cc: linux-c-programming


as far as i understood the problem you're compiling your code without
debugging information.

in order for the debugger to know where the sources files are located
debugging information should be compiled into the executable/library.

common debugging flags are: -ggdb -g2.

check "man gcc" for more details.


On Tue, 2004-12-21 at 17:17 +0100, soraberri wrote:
> Hi all,
> 
> In this stage of my learning I am basically trying to understand some 
> code that others have develop. The code is about bluetooth tools but 
> this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
> task with the source that I want to understand loaded into a new 
> project, and I always find the same problem which I will describe you in 
> terms of an example:
> 
> at some point of the code I find a call to a function or a typedef name 
> (for exmple str2ba) and I would like to find the header file or even the 
> source file where this function (or type) is defined. I can only use the 
> Grep:str2ba command found under "Find in files..." dialog but sometimes 
> this is not suitable because I have to tell manually the path from the 
> starting point of the search, and if I don't know exactly the rigth 
> folder, the number of results searched can be too many for examining. I 
> guess it may be a better way, since the program compiles and has the 
> appropiate includes (#include <header>), so the compiler must know where 
> the function is defined.
> 
> So, every suggestions would be wellcome,
> 
> thaks in advance
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 16:35 ` Nir Dremer
@ 2004-12-21 16:53   ` soraberri
  2004-12-21 17:02     ` Nir Dremer
  0 siblings, 1 reply; 9+ messages in thread
From: soraberri @ 2004-12-21 16:53 UTC (permalink / raw)
  To: linux-c-programming

Nir Dremer wrote:
> as far as i understood the problem you're compiling your code without
> debugging information.
> 
> in order for the debugger to know where the sources files are located
> debugging information should be compiled into the executable/library.
> 
> common debugging flags are: -ggdb -g2.
> 
> check "man gcc" for more details.
> 
> 
> On Tue, 2004-12-21 at 17:17 +0100, soraberri wrote:
> 
>>Hi all,
>>
>>In this stage of my learning I am basically trying to understand some 
>>code that others have develop. The code is about bluetooth tools but 
>>this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
>>task with the source that I want to understand loaded into a new 
>>project, and I always find the same problem which I will describe you in 
>>terms of an example:
>>
>>at some point of the code I find a call to a function or a typedef name 
>>(for exmple str2ba) and I would like to find the header file or even the 
>>source file where this function (or type) is defined. I can only use the 
>>Grep:str2ba command found under "Find in files..." dialog but sometimes 
>>this is not suitable because I have to tell manually the path from the 
>>starting point of the search, and if I don't know exactly the rigth 
>>folder, the number of results searched can be too many for examining. I 
>>guess it may be a better way, since the program compiles and has the 
>>appropiate includes (#include <header>), so the compiler must know where 
>>the function is defined.
>>
>>So, every suggestions would be wellcome,
>>
>>thaks in advance
>>
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

well, maybe this is not the problem. In Kdevelop I have 
--enable-debug=full flag in configuration options, and the option 
"debug" checked at ->Build.
Furthermore, my problem is not about compiling, is about reading code, 
because I want a way to reach directly to the piece of code where 
particular definitions are made.

regards


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 16:53   ` soraberri
@ 2004-12-21 17:02     ` Nir Dremer
  2004-12-21 17:38       ` José Ricardo
  2004-12-21 18:45       ` soraberri
  0 siblings, 2 replies; 9+ messages in thread
From: Nir Dremer @ 2004-12-21 17:02 UTC (permalink / raw)
  To: soraberri; +Cc: linux-c-programming


Do you mean that during development time you have a problem to reach to
a specific method/... implementation?

if so what you need is tagging support.

taggings will enable you to jump to implementation without openning the
folder/file manually.

i'm not familiar with kdevelop in specific, my suggestion is to check
it's help for taggings or even to check ctags/etags command lines using
man.

hope i helped.


On Tue, 2004-12-21 at 17:53 +0100, soraberri wrote:
> Nir Dremer wrote:
> > as far as i understood the problem you're compiling your code without
> > debugging information.
> > 
> > in order for the debugger to know where the sources files are located
> > debugging information should be compiled into the executable/library.
> > 
> > common debugging flags are: -ggdb -g2.
> > 
> > check "man gcc" for more details.
> > 
> > 
> > On Tue, 2004-12-21 at 17:17 +0100, soraberri wrote:
> > 
> >>Hi all,
> >>
> >>In this stage of my learning I am basically trying to understand some 
> >>code that others have develop. The code is about bluetooth tools but 
> >>this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
> >>task with the source that I want to understand loaded into a new 
> >>project, and I always find the same problem which I will describe you in 
> >>terms of an example:
> >>
> >>at some point of the code I find a call to a function or a typedef name 
> >>(for exmple str2ba) and I would like to find the header file or even the 
> >>source file where this function (or type) is defined. I can only use the 
> >>Grep:str2ba command found under "Find in files..." dialog but sometimes 
> >>this is not suitable because I have to tell manually the path from the 
> >>starting point of the search, and if I don't know exactly the rigth 
> >>folder, the number of results searched can be too many for examining. I 
> >>guess it may be a better way, since the program compiles and has the 
> >>appropiate includes (#include <header>), so the compiler must know where 
> >>the function is defined.
> >>
> >>So, every suggestions would be wellcome,
> >>
> >>thaks in advance
> >>
> >>-
> >>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> >>the body of a message to majordomo@vger.kernel.org
> >>More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> > 
> > 
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> well, maybe this is not the problem. In Kdevelop I have 
> --enable-debug=full flag in configuration options, and the option 
> "debug" checked at ->Build.
> Furthermore, my problem is not about compiling, is about reading code, 
> because I want a way to reach directly to the piece of code where 
> particular definitions are made.
> 
> regards
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 17:02     ` Nir Dremer
@ 2004-12-21 17:38       ` José Ricardo
  2004-12-21 18:45       ` soraberri
  1 sibling, 0 replies; 9+ messages in thread
From: José Ricardo @ 2004-12-21 17:38 UTC (permalink / raw)
  To: linux-c-programming

I think that you need something like "cscope", isn't it?

http://cscope.sourceforge.net/

Nir Dremer wrote:
> Do you mean that during development time you have a problem to reach to
> a specific method/... implementation?
> 
> if so what you need is tagging support.
> 
> taggings will enable you to jump to implementation without openning the
> folder/file manually.
> 
> i'm not familiar with kdevelop in specific, my suggestion is to check
> it's help for taggings or even to check ctags/etags command lines using
> man.
> 
> hope i helped.
> 
> 
> On Tue, 2004-12-21 at 17:53 +0100, soraberri wrote:
> 
>>Nir Dremer wrote:
>>
>>>as far as i understood the problem you're compiling your code without
>>>debugging information.
>>>
>>>in order for the debugger to know where the sources files are located
>>>debugging information should be compiled into the executable/library.
>>>
>>>common debugging flags are: -ggdb -g2.
>>>
>>>check "man gcc" for more details.
>>>
>>>
>>>On Tue, 2004-12-21 at 17:17 +0100, soraberri wrote:
>>>
>>>
>>>>Hi all,
>>>>
>>>>In this stage of my learning I am basically trying to understand some 
>>>>code that others have develop. The code is about bluetooth tools but 
>>>>this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
>>>>task with the source that I want to understand loaded into a new 
>>>>project, and I always find the same problem which I will describe you in 
>>>>terms of an example:
>>>>
>>>>at some point of the code I find a call to a function or a typedef name 
>>>>(for exmple str2ba) and I would like to find the header file or even the 
>>>>source file where this function (or type) is defined. I can only use the 
>>>>Grep:str2ba command found under "Find in files..." dialog but sometimes 
>>>>this is not suitable because I have to tell manually the path from the 
>>>>starting point of the search, and if I don't know exactly the rigth 
>>>>folder, the number of results searched can be too many for examining. I 
>>>>guess it may be a better way, since the program compiles and has the 
>>>>appropiate includes (#include <header>), so the compiler must know where 
>>>>the function is defined.
>>>>
>>>>So, every suggestions would be wellcome,
>>>>
>>>>thaks in advance
>>>>
>>>>-
>>>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>>>the body of a message to majordomo@vger.kernel.org
>>>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>
>>>
>>>-
>>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>>the body of a message to majordomo@vger.kernel.org
>>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>
>>well, maybe this is not the problem. In Kdevelop I have 
>>--enable-debug=full flag in configuration options, and the option 
>>"debug" checked at ->Build.
>>Furthermore, my problem is not about compiling, is about reading code, 
>>because I want a way to reach directly to the piece of code where 
>>particular definitions are made.
>>
>>regards
>>
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 16:17 development tools for interpreting code soraberri
  2004-12-21 16:35 ` Nir Dremer
@ 2004-12-21 18:08 ` Jan-Benedict Glaw
  2004-12-21 18:48 ` soraberri
  2 siblings, 0 replies; 9+ messages in thread
From: Jan-Benedict Glaw @ 2004-12-21 18:08 UTC (permalink / raw)
  To: linux-c-programming

[-- Attachment #1: Type: text/plain, Size: 860 bytes --]

On Tue, 2004-12-21 17:17:41 +0100, soraberri <421246@posta.unizar.es>
wrote in message <cq9icd$cpa$1@sea.gmane.org>:
> at some point of the code I find a call to a function or a typedef name 
> (for exmple str2ba) and I would like to find the header file or even the 
> source file where this function (or type) is defined. I can only use the 

cscope and ctags are two programs written for exactly this task.

They integrate nicely into vim, so I don't know if it is useful with a
graphical IDE, though...

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw@lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: development tools for interpreting code
@ 2004-12-21 18:39 Huber, George K RDECOM CERDEC STCD SRI
  0 siblings, 0 replies; 9+ messages in thread
From: Huber, George K RDECOM CERDEC STCD SRI @ 2004-12-21 18:39 UTC (permalink / raw)
  To: 'soraberri', linux-c-programming

soraberri wrote:

>at some point of the code I find a call to a function or a typedef name 
>(for exmple str2ba) and I would like to find the header file or even the 
>source file where this function (or type) is defined. I can only use the 
>Grep:str2ba command found under "Find in files..." dialog but sometimes 
>this is not suitable because I have to tell manually the path from the 
>starting point of the search, and if I don't know exactly the rigth 
>folder, the number of results searched can be too many for examining. I 
>guess it may be a better way, since the program compiles and has the 
>appropiate includes (#include <header>), so the compiler must know where 
>the function is defined.

As others have suggested, ctags, cflow and cscope are three very useful programs for 
dealing with this.  In addition to the these two, I also find `calltree'
(see ftp://ftp.berlios.de/pub/calltree/) to be very useful.  `calltree' produces
a call graph for given set of input files - useful to understand the static structure
of a program.

In addition, valgrind using the calltree (or is it now callgrind) skin along with 
cachegrind produces useful information during the execution of the program.


Hope this helps,
George



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 17:02     ` Nir Dremer
  2004-12-21 17:38       ` José Ricardo
@ 2004-12-21 18:45       ` soraberri
  1 sibling, 0 replies; 9+ messages in thread
From: soraberri @ 2004-12-21 18:45 UTC (permalink / raw)
  To: linux-c-programming

Nir Dremer wrote:
> Do you mean that during development time you have a problem to reach to
> a specific method/... implementation?
> 
> if so what you need is tagging support.
> 
> taggings will enable you to jump to implementation without openning the
> folder/file manually.
> 
> i'm not familiar with kdevelop in specific, my suggestion is to check
> it's help for taggings or even to check ctags/etags command lines using
> man.
> 
> hope i helped.

Sure you did. Yes  think it is what I'm looking for





> On Tue, 2004-12-21 at 17:53 +0100, soraberri wrote:
> 
>>Nir Dremer wrote:
>>
>>>as far as i understood the problem you're compiling your code without
>>>debugging information.
>>>
>>>in order for the debugger to know where the sources files are located
>>>debugging information should be compiled into the executable/library.
>>>
>>>common debugging flags are: -ggdb -g2.
>>>
>>>check "man gcc" for more details.
>>>
>>>
>>>On Tue, 2004-12-21 at 17:17 +0100, soraberri wrote:
>>>
>>>
>>>>Hi all,
>>>>
>>>>In this stage of my learning I am basically trying to understand some 
>>>>code that others have develop. The code is about bluetooth tools but 
>>>>this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
>>>>task with the source that I want to understand loaded into a new 
>>>>project, and I always find the same problem which I will describe you in 
>>>>terms of an example:
>>>>
>>>>at some point of the code I find a call to a function or a typedef name 
>>>>(for exmple str2ba) and I would like to find the header file or even the 
>>>>source file where this function (or type) is defined. I can only use the 
>>>>Grep:str2ba command found under "Find in files..." dialog but sometimes 
>>>>this is not suitable because I have to tell manually the path from the 
>>>>starting point of the search, and if I don't know exactly the rigth 
>>>>folder, the number of results searched can be too many for examining. I 
>>>>guess it may be a better way, since the program compiles and has the 
>>>>appropiate includes (#include <header>), so the compiler must know where 
>>>>the function is defined.
>>>>
>>>>So, every suggestions would be wellcome,
>>>>
>>>>thaks in advance
>>>>
>>>>-
>>>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>>>the body of a message to majordomo@vger.kernel.org
>>>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>
>>>
>>>-
>>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>>the body of a message to majordomo@vger.kernel.org
>>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>
>>well, maybe this is not the problem. In Kdevelop I have 
>>--enable-debug=full flag in configuration options, and the option 
>>"debug" checked at ->Build.
>>Furthermore, my problem is not about compiling, is about reading code, 
>>because I want a way to reach directly to the piece of code where 
>>particular definitions are made.
>>
>>regards
>>
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: development tools for interpreting code
  2004-12-21 16:17 development tools for interpreting code soraberri
  2004-12-21 16:35 ` Nir Dremer
  2004-12-21 18:08 ` Jan-Benedict Glaw
@ 2004-12-21 18:48 ` soraberri
  2 siblings, 0 replies; 9+ messages in thread
From: soraberri @ 2004-12-21 18:48 UTC (permalink / raw)
  To: linux-c-programming

soraberri wrote:
> Hi all,
> 
> In this stage of my learning I am basically trying to understand some 
> code that others have develop. The code is about bluetooth tools but 
> this is unrelevant at this moment. Rigth now I'm using Kdevelop for this 
> task with the source that I want to understand loaded into a new 
> project, and I always find the same problem which I will describe you in 
> terms of an example:
> 
> at some point of the code I find a call to a function or a typedef name 
> (for exmple str2ba) and I would like to find the header file or even the 
> source file where this function (or type) is defined. I can only use the 
> Grep:str2ba command found under "Find in files..." dialog but sometimes 
> this is not suitable because I have to tell manually the path from the 
> starting point of the search, and if I don't know exactly the rigth 
> folder, the number of results searched can be too many for examining. I 
> guess it may be a better way, since the program compiles and has the 
> appropiate includes (#include <header>), so the compiler must know where 
> the function is defined.
> 
> So, every suggestions would be wellcome,
> 
> thaks in advance
> 
> -
> To unsubscribe from this list: send the line "unsubscribe 
> linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

Thank you for all your help. I'll study a bit all these choices and will 
try out. very helpful posts!


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-12-21 18:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-21 16:17 development tools for interpreting code soraberri
2004-12-21 16:35 ` Nir Dremer
2004-12-21 16:53   ` soraberri
2004-12-21 17:02     ` Nir Dremer
2004-12-21 17:38       ` José Ricardo
2004-12-21 18:45       ` soraberri
2004-12-21 18:08 ` Jan-Benedict Glaw
2004-12-21 18:48 ` soraberri
  -- strict thread matches above, loose matches on Subject: below --
2004-12-21 18:39 Huber, George K RDECOM CERDEC STCD SRI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).