Devo mettere in debug remoto del codice sparso tra un servizio, due eseguibili, tre dll e non so quante librerie statiche, seguendo il flusso del codice da un componente all’altro.
I diversi moduli sono lanciati da utenti diversi, con permessi di elevazione diversi, su macchine diverse.
Il tutto compilato in parte su Visual Studio 2003, in parte sul 2005 e in parte sul 2010. Scritto in parte in C, in parte in C++ e in parte in C#, con alcuni script in VisualBasic, dei PLC scritti in IEC e delle macro in linguaggio ISO, tanto per non farci manca’ nulla,
Ovviamente anche i paradigmi cambiano, da quello imperativo del C, a quello misto “imperativo a cazzo/OOP a cazzo/cosa cazzo usi le eccezioni come fossero GOTO?” del C++, alla programmazione ad eventi del C#.
E il servizio non gira tutto su windows, ma in parte su un secondo kernel real-time che si affianca a windows e usa uno dei core della cpu (e che non supporta le assert).
E siccome era troppo semplice, tutto il sorgente sta su DUE branch diversi del CVS, che devo usare contemporaneamente.
Ah, e per il debug remoto non posso usare la rete, perche’ devo testare come si comporta in assenza di connessione. Ma se stacco la rete e uso un cavo crociato, VisualStudio si blocca perche’ non trova il server delle licenze dell’OS real-time.
Ora piango.