Sto cercando uno strumento che indichi/risolva per ogni funzione tutti i percorsi di chiamata (chiamiamoli "percorsi") ad esso.Risolutore di chiamate di chiamate C++
Ad esempio:
void deeper(int *pNumber)
{
*pNumber++;
}
void gateA(int *pNumber)
{
deeper(pNumber);
}
void gateB(int *pNumber)
{
gateA(pNumber);
}
void main()
{
int x = 123;
gateA(&x);
gateB(&x);
}
Vedi? Ho bisogno di uno strumento che mi indichi tutti i percorsi per approfondire() e, se possibile, di più.
Dicendo "altro" intendo che mi dirà se il puntatore è lo stesso che è stato fornito alla funzione chiamante.
Questo mi farà risparmiare molto tempo. Grazie!
Essa non deve essere eseguito su una specifica piattaforma (Windows, Mac OSX, Linux, OpenBSD, OpenSolaris, qualunque)? –
È necessario rilevare le chiamate indirette, ad esempio tramite i puntatori di funzione o le chiamate virtuali? –
@David: sto usando Windows. Per me è abbastanza. @Rob: Non mi aspetterei una simile funzione anche se questo migliorerebbe enormemente la popolarità dello strumento (: Sembra che la gente qui abbia suggerito buone soluzioni. Verificherò più tardi. – Poni