Domanda

Sto lavorando in VS 2008 e ho tre progetti in un'unica soluzione.Sto eseguendo il debug collegandomi a un processo .net richiamato da un'app di terze parti (SalesLogix, un'app CRM).

Una volta collegato al processo e provo a impostare un punto di interruzione in uno dei progetti, non imposta un punto di interruzione in quel file.In realtà cambia la scheda corrente in un altro file in un altro progetto e imposta un punto di interruzione in quel documento.Se il file non è aperto, arriva addirittura ad aprirlo per me.Non posso spiegarlo.Non ne ho idea.Qualcuno ha visto un comportamento così strano?Non ci crederei se non lo vedessi io stesso.

Qualche informazione in più:se imposto un punto di interruzione prima di allegare, mostra il "punto rosso" e dice che nessun simbolo è caricato... nessun problema... me lo aspetto.Quando allego e invoco il mio codice .net da SalesLogix e torno a VS, il mio punto di interruzione è completamente scomparso (nemmeno un avviso che l'origine non corrisponde al file di debug).Quando provo a caricare manualmente il file di debug, ricevo un messaggio che indica che il file di simboli non corrisponde al modulo.Il .pdb e il .dll hanno lo stesso timestamp, quindi sono perplesso.

Qualcuno ha qualche idea?

Grazie,

Jeff

È stato utile?

Soluzione

Ho visto questa funzionalità nelle versioni precedenti di VS.Net (2003 credo).Potrebbe esistere ancora nelle versioni attuali, ma non l'ho riscontrato.Sembra che i file con lo stesso nome, anche in directory diverse confondano VS.Net, e finisce per impostare un punto di interruzione in un file con lo stesso nome.Può verificarsi solo se anche le classi nel file hanno lo stesso nome.Questo per quanto riguarda gli spazi dei nomi, immagino.

Potresti anche voler controllare la configurazione della build per assicurarti che tutti i progetti vengano effettivamente compilati in modalità debug.So di essere stato sorpreso un paio di volte quando la configurazione è stata modificata in qualche modo per la soluzione e alcuni progetti non venivano compilati in modalità debug.

Altri suggerimenti

Kibbee, avevi ragione!Erano due file con lo stesso nome in cartelle diverse.Stavo impostando il punto di interruzione nel file corretto alla riga 58: stavo inserendo il punto di interruzione nell'altro file alla riga 58.Alla fine sono riuscito a impostare un punto di interruzione utilizzando l'opzione di menu "Debug-->Nuovo punto di interruzione-->Interruzione in nome funzione" e inserendo il nome della funzione.Si è fermato esattamente come avrebbe dovuto essere allora.

Sono d'accordo: questo per quanto riguarda gli spazi dei nomi, giusto?Dannazione, mi è costato un paio d'ore.Oh, beh... almeno è risolto e so perché.

Grazie per la risposta e grazie anche a Matt per la sua risposta!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top