In un programma ho chiamato per errore closeHandle()
due volte su un handle mutex (chiudendo l'handle che era già chiuso).Alcuni errori di eccezione si verificano solo nel debugger?
Durante l'esecuzione del codice nel debugger, ho ricevuto l'errore di eccezione An invalid HANDLE was specified.
come previsto.
Tuttavia, eseguendo il programma "normalmente" come indipendente (all'esterno del debugger), l'eccezione non viene visualizzata o qualsiasi altro errore. Il programma sembra funzionare normalmente.
Si tratta solo di un'impostazione in Visual Studio .NET 2003 o ce ne sono altri ancora?
Questo è il comportamento documentato di closeHandle(). Vedere http://msdn.microsoft.com/en-us/library/ms724211%28v=vs.85%29.aspx: "Se l'applicazione è in esecuzione in un debugger, la funzione genererà un'eccezione se riceve o un gestire il valore che non è valido o un valore pseudo-handle. " – user168715
Probabilmente si sta eseguendo la build di debug in VS .NET, ma quando si fa doppio clic su si esegue la build di rilascio? –
Ho visto un comportamento simile con le affermazioni. La compilazione condizionale potrebbe farlo. –