Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C++ (http://www.velocityreviews.com/forums/f39-c.html)
-   -   Re: Tips to analyze a project with thousands of files (http://www.velocityreviews.com/forums/t953655-re-tips-to-analyze-a-project-with-thousands-of-files.html)

Jorgen Grahn 10-20-2012 07:49 AM

Re: Tips to analyze a project with thousands of files
 
On Sat, 2012-10-20, Like Learn wrote:
> My task is to analyze a legacy firmware project using Qualcomm MDM9X00
> baseband chip with thousands of files (literally) to fix a bug. There is no
> design documents about the project. The project is qriting in C++, halve of
> them are commented in Doxygen format, while the other halve not. I don't
> have the hardware to run the firmware or debugging. The only thing I have is
> a list of debugging outputs of the printfs in firmware collected by the
> client.


The task is almost never to "analyze" something. IME, it's only by
doing actual useful work (changing a feature, doing internal changes
or testing) that you can learn more about a large piece of code.

I have often been in that situation. It's frustrating. But you have
to accept it:

"I cannot understand all of this at once. There are big parts I will
probably never understand. Most of this code is fit for
thedailywtf.com. But I can fix this particular bug, and learn
something while doing it, and the code will be better afterwards."

> I spent one day today and even couldn't find out where the firmware starts.
> Obviously it was not the main function. The comments are not in pure
> English, frustrated. Any tip to find out the starting line of an ARM
> project?


Build it and look at the symbol table of the final image. That is
often a good supplement to looking at the source code.

/Jorgen

--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .

Jorgen Grahn 10-21-2012 11:42 AM

Re: Tips to analyze a project with thousands of files
 
On Sat, 2012-10-20, Jorgen Grahn wrote:
> On Sat, 2012-10-20, Like Learn wrote:
>> My task is to analyze a legacy firmware project using Qualcomm MDM9X00
>> baseband chip with thousands of files (literally) to fix a bug.

....
> The task is almost never to "analyze" something. IME, it's only by
> doing actual useful work (changing a feature, doing internal changes
> or testing) that you can learn more about a large piece of code.

....

Only now did I see that "Like Learn" didn't say the task was just "to
analyze", but "to analyze ... to fix a bug". So my advice must have
looked a bit strange. Sorry!

/Jorgen

--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .


All times are GMT. The time now is 04:26 PM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.