2009-03-19 13 views
2

Ich habe Probleme innerhalb eines Blocks von Code, der meiner Meinung nach mit einem Mausklick Ereignis verbunden ist, aber ich kann nicht scheinen, das genaue Ereignis in meinem Code zu erfassen. Ich habe den C# -Debugger benutzt, um durch meinen Code zu gehen und nach dem Ende eines meiner Ereignisse stürzt der Code einfach ab.Software zur Überwachung von Ereignissen aus dem Code

Der Zweck meiner Post ist es, zu fragen, ob es irgendeine Software gibt, die meinen Prozess beobachtet und mir die Ereignisse mitteilen kann, die ausgelöst werden, nachdem ich die F11-Taste gedrückt habe und der Code einfriert. Ich habe SysInternals 'procmon.exe versucht, aber das sagt mir nicht, welche Ereignisse abfeuern.

Antwort

2

Haben Sie Spy ++ ausprobiert? Es ist ein Werkzeug, das mit Visual Studio kommt (mindestens 2003 & 2005). Auf meinen Standardinstallationen 2003 und 2005 befindet sich Spy ++ unter: Start | Programmdateien | Microsoft Visual Studio 200X | Visual Studio-Tools | Spy ++

Nachdem Sie Spy ++ ausgeführt haben, wählen Sie im Menü Suchen die Option Fenster suchen ... aus. Ziehen Sie das "Finder Tool" in das Fenster oder Steuerelement, in dem Sie die Ereignisse sehen möchten, und klicken Sie auf OK. Klicken Sie mit der rechten Maustaste auf das in der Baumstruktur ausgewählte Element und wählen Sie "Nachrichten". Dadurch wird ein Fenster geöffnet, in dem die Nachrichten angezeigt werden, wenn sie auf Ihr Fenster von Interesse treffen.

Wenn Spy ++ nicht das bekommt, was Sie brauchen, was ist mit Managed Spy? Es scheint wie Spy ++, aber speziell für verwalteten Code. Ich habe es nicht ausprobiert.

[Es] zeigt eine Strukturansicht der Steuerelemente in Ihrer .NET-basierten Clientanwendung an. Sie können ein beliebiges Steuerelement auswählen und eine Eigenschaft darauf festlegen oder festlegen. Sie können auch eine gefilterte Gruppe von Ereignissen protokollieren, die das Steuerelement auslöst.

+0

@JeffH - Danke! Spy ++ erlaubte mir, eine Endlosschleife des Ereignisses zu sehen, die aufgerufen wurde, von der ich nicht wusste, dass sie an Ort und Stelle war. –

+0

Ich bin froh, dass Sie bekommen haben, was Sie brauchen! – JeffH

+0

Just Managed Spy, das Werkzeug funktioniert auch gut! Und es ist ein wenig benutzerfreundlicher und .NET-orientierter als Spy ++, was nett ist. –

1

Verwenden Sie Multi-Threading? Wenn dies der Fall ist, versuchen Sie, die Übergabe von Steuerelementen und anderen Windows Forms-Objekten außerhalb des Forms-Threads zu vermeiden, da der Debugger versucht, auf den Wert des Objekts zuzugreifen, wodurch der Debugger einige Zeit blockiert.

+0

@Nick Bolton - Nein ... App ist nicht Multi-Threaded. Vielen Dank!! –

1

CLRProfiler könnte tun, was Sie wollen.

Die Werkzeugübersicht Staaten

Die CLR Profiler eine Reihe von sehr nützlich Blick auf die Zuteilung Profil umfasst, einschließlich eines Histogramms von zugeordnet Typen, Zuteilung und Graphen nennen, eine Linie, die Zeit zeigt GCs von verschiedenen Generationen und der resultierende Zustand des verwalteten Heap nach diesen Sammlungen, und ein Aufruf Baum zeigt pro-Methode Zuweisungen und Assembly Lasten.

Der Speicherverbrauch wirklich in dieser Beschreibung verkauft wird, aber es erwähnt den ‚Aufrufbaum‘, und diesen Link auf how to use es erwähnt

Aufrufstrukturansicht bietet eine textbasierte, chronologische, hierarchische Ansicht der Anwendung Ihrer Anwendung.

Viel Glück.

0

Warum nicht ein Protokollierungswerkzeug wie log4net?

Verwandte Themen