Ho una gerarchia di oggetti, per lo più connessi per composizione. Cioè (non mostra i metodi di classe per la leggibilità):
class A {}
class B {A a;}
class C {B b;}
etc...
class Z {Y y;}
class Z fornisce l'API per l'esecuzione di comandi da un altro programma: un pannello di controllo. Penso che questo si chiami Chain of Responsibility , ma potrebbe essere un errore.
Ora quando un'azione deve essere eseguita su A, Z chiama un metodo di Y , perché Z conosce solo circa Y . Così via, finché non raggiungiamo A , che ha i membri e i metodi corretti per gestire la richiesta.
Questo ha il problema fondamentale che il debug diventa noioso - uno deve step in molte volte, e ogni volta fai attenzione a non perdere l'effettivo metodo di lavoro - altrimenti la sessione di debug deve essere riavviata.
Come faccio a rendere il debug più semplice? Un cambiamento nell'architettura di un metodo di utilizzo di gcc più adatto a questa situazione?