Ho un'applicazione che restituisce l'output sbagliato, quando viene eseguito con una particolare scelta di input. Non sono stato in grado di avvicinarmi a una diagnosi della colpa, nonostante abbia trascorso circa un giorno e mezzo. Se viene eseguito con l'input A, ottiene l'output corretto, se ha l'input B l'output dovrebbe essere lo stesso ma non è corretto. L'input B passa attraverso alcuni processi leggermente diversi per l'input A, nel tentativo di ottimizzarlo, sebbene la maggior parte dei passaggi siano in comune.
Sto cercando di confrontare l'invocazione del programma fianco a fianco con i due input. È un modo difficile di eseguire il debug in quanto si hanno due finestre di applicazioni, due finestre di Visual Studio, ed è facile confondersi.
Il software è circa 1 milione di righe di codice, e parte del codice è diabolicamente complicata. Ha molti loop e loop nidificati che vengono eseguiti per un sacco di iterazioni, con variabili molto complesse. Memorizza nella cache molti dati, quindi quando trovi che i valori in una modalità sono diversi dall'altra devi calcolare se le differenze sono significative e quindi è difficile intercettare dove i programmi divergono poiché i valori sono già stati calcolati e devi continuare a riavviare i programmi e tornare indietro.
Capisco che non ci sia un proiettile d'argento qui ma mi sono chiesto se qualcuno avesse qualche consiglio?