Domanda

Sto avendo difficoltà all'interno di un blocco di codice che credo sia correlato a un evento clic del mouse, ma mi sembra di non riuscire a catturare l'esatta evento all'interno del mio codice.Ho usato il C# debugger per il passaggio attraverso il mio codice e dopo la fine di uno dei miei eventi il codice semplicemente si blocca.

Lo scopo del mio post è quello di chiedere se c'è qualche software che guardare il mio processo e fammi sapere gli eventi che si stanno sparando fuori dopo che premo il tasto F11 e il codice si blocca.Ho provato SysInternals' procmon.exe ma non è che mi dice che gli eventi sono sparando fuori.

È stato utile?

Soluzione

Hai provato a Spy++ ?È uno strumento che viene fornito con Visual Studio (almeno il 2003 e 2005).Sul mio di default il 2003 e il 2005 installa, Spy++, è:Start | programmi | Microsoft Visual Studio 200X | Visual Studio Tools | Spy++

Dopo aver eseguito Spy++, selezionare Finestra di ricerca...dal menu di Ricerca.Trascinare il "Strumento di ricerca" per la finestra o il controllo che si desidera guardare gli eventi e fare clic su OK.Fare clic destro sull'elemento selezionato nella struttura ad albero e selezionare "Messaggi".Verrà visualizzata una finestra che mostra i messaggi come hanno colpito la vostra finestra di interesse.

Se Spy++ non ottenere quello che ti serve, che cosa circa Gestito Spy?Sembra essere come Spy++, ma in particolare per il codice gestito.Non l'ho ancora provato.

[It] visualizza una treeview dei controlli nelle .NET-based applicazione client.È possibile selezionare qualsiasi controllo e di ottenere o impostare la proprietà su di esso.È anche possibile accedere a un insieme di eventi che il controllo solleva.

Altri suggerimenti

Stai usando il multi-threading?Se è così, cercare di evitare di passare i controlli e le altre Forme di Windows oggetti al di fuori delle forme thread, come il debugger si tenta di accedere al valore dell'oggetto, che farà sì che il debugger di congelare per qualche tempo.

CLRProfiler potrebbe fare quello che vuoi.

La presentazione dello strumento di stati

Il CLR Profiler include un numero di molto utile in vista dell'allocazione profilo, tra cui un istogramma di assegnati i tipi, allocazione e di chiamata grafici, una linea del tempo che mostra GCs di varie generazioni e la conseguente stato di heap gestito dopo quelli collezioni, e una chiamata albero che mostrano per ogni metodo di allocazione e di montaggio i carichi.

L'uso della memoria, è davvero venduto in questa descrizione, ma fa menzione la "chiamata" l'albero, e questo link come utilizzare si, cita

Albero delle chiamate Visualizzazione del testo-base, cronologico, gerarchico vista applicazione in esecuzione.

Buona fortuna.

Perché non utilizzare uno strumento di registrazione come log4net?

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