Portál AbcLinuxu, 10. května 2025 05:35

Dotaz: trasování aneb - nástroje na analyzu kodu

19.3.2009 01:33 Zdenek
trasování aneb - nástroje na analyzu kodu
Přečteno: 321×
Odpovědět | Admin

Potkalo me to nejhorsi, co muze bejt t.j pochopit cizí kus programu v C++ tak, abych byl schopen do programu pridat nejaké funkce a uzpusobit tento program k potrebam jednoho projektu. Nemám možnost konfrontace s autorem programu. 

Chtel bych se tedy zeptat ci znate nejakou dobrou utilitku ktera by mi tuto cinost ulechcila  naprikald by me stacil výpis trasy volání v zavislosti na vstupnich parametrech programu ... vim ze toto jde udelat pomoci "krokovani programu" treba v DDD ale toto je dosti casove naroce. a obcas mi ddd blbne a kus kodu se preskoci ci neco jenho. moje predstava je takaova ze obdrzim neco jako fca A volala fci b a volala fci c  a pak se to zase nejak vracelo a vetvilo ...  proste neco jako ziskat jeden prubech nejake vetve vyvojoveho diagramu.

Diky

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.3.2009 06:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná by na to stačil gprof?
In Ada the typical infinite loop would normally be terminated by detonation.
19.3.2009 08:29 Zdenek
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu

zkusim to a napiši. co jsem cet o gprof na rootu.cz tak to asi bude ono. .... Diky za nakopnuti.

19.3.2009 09:53 Zdenek
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu

narazil jsem na meci problem pri pokusu o spusteni gprofu: (program sem prelozil s parametrem -pg)

neco jsem na googlu nasel ale jednalo se jen o chybejici parametr pg

z:/usr/local/src/programm/bin$ gprof -e boring -f foo -f bar programm
gmon.out: No such file or directory
 

diky

19.3.2009 12:35 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu
spusťte nejprv ten program samotný, jako normálně. pokud má to -pg při kompilaci, tak vytvoří ten soubor gmon.out.
In Ada the typical infinite loop would normally be terminated by detonation.
19.3.2009 12:59 zdenek
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu

diky to mne nenapadlo nevim proc jsem se milne domnival ze se vytvori jiz pri prekladu  a navic se musi nechat program dobehnout

19.3.2009 13:05 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu
Ano, profilovat program, který se nezastaví, nemá moc cenu :-)
In Ada the typical infinite loop would normally be terminated by detonation.
19.3.2009 12:23 depka | skóre: 20 | blog: eterity
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu
Odpovědět | | Sbalit | Link | Blokovat | Admin
cscope
19.3.2009 18:51 vencas | skóre: 32
Rozbalit Rozbalit vše Re: trasování aneb - nástroje na analyzu kodu
Odpovědět | | Sbalit | Link | Blokovat | Admin

google: valgrind, callgrind, kcallgrind (vypadá to tasi takhle), nemusí se to rekompilovat, akorát to běží asi 10x pomaleji.  Grpfo dělá, pokud vím, jen statistickou analýzu, zatímco tady je to instrumentováno a zachytí se všechno.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.