none
Wo kommt diese Exception her? RRS feed

  • Allgemeine Diskussion

  • Hallo Zusammen,

    ich sammele alle exceptions meiner Anwendung zentral um die später auswerten zu können und den Fehler ggfs. zu beheben. Aus dieser hier werde ich aber nicht wirklich schlau. Hat jemand einen Idee wie ich dem Fehler auf die Spur komme?

    CurrentDomain - Unhandled Exception
    Exception has been thrown by the target of an invocation.
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Delegate.DynamicInvokeImpl(Object[] args) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.Run() at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at System.Windows.Application.Run(Window window) at MyApp.Program.Main(String[] args)


    Besten Gruß,

    Alex

    Freitag, 30. November 2012 12:51

Alle Antworten

  • Hallo,

    der Stacktrace sieht aus, als ob du irgendetwas mit Windows Events und Threads oder so probiert hast. Aber viel helfen wird da keine können, da du ja nicht mal gesgat hast um was für einen Exception es sich hadelt.

    Ich würde mir an deiner Stelle auch überlegen, ob es denn wirklich so sinnvoll ist, deine Exceptions irgendwo gesammelt abzufangen. Ich würde bei Dateizugriffen beispielsweise immer sofort mit TryCatch alles abfangen, was schief geht und es berichten/protokolieren.

    Du musst doch in etwa wissen, wie du den Fehler provozierst. Dann setze an der Stelle mal einen Haltepunkt (F9) im Code und navigiere dann Zeile für Zeile weiter (F11) bis du an der Zeile angelangt bist, bei der der Fehler geworfen wird.


    Koopakiller [kuːpakɪllɐ] - http://koopakiller.ko.ohost.de/

    Freitag, 30. November 2012 13:40
    Moderator
  • Naja, wenn ich wüsste wie man diesen Fehler reproduziert, hätte ich ein paar Sorgen weniger. Dann könnte ich in der Tat einfach den Debugger anschmeißen. Die App empfängt Events per Remoting und gibt diese dann wenn nötig an den Dispatcher weiter. Sporadisch kommt dann dieser Fehler. Ich denke die Fehlerquote ist im Promillebereich.

    Da der Stacktrace mir aber nichts sagt, kann ich leider die Ursache nicht weiter eingrenzen. Ich hatte die Hoffnung das ich vielleicht den Stacktrace irgendwie beinflussen kann bzw. ein paar Infos mehr darein bekomme. Irgendwelche Ideen?

    Freitag, 30. November 2012 15:13
  • Diese Fehler die in einem von 1000 Fällen passieren kenne ich und sind auch extrem schwer heraus zu bekommen. Ich nehme mal an das du alle unbehandelten Ausnahmen deiner Anwendung von der GUI aus abfängst und so an den Stacktrace usw. heran kommst.

    Den Stacktrace verändern kannst du nicht. Wenn ich mir den so angucke kann ich Ihn, soweit ich kann natürlich auseinandernehmen und versuchen zu erklären/verstehen:

    Main wird aufgerufen, danach wird "Window" angezeigt, danach geht irgendwas in .NET schief, soweit ich das jetzt sehe.
    Also muss irgendwas schief gehen, während du das Fenster anzeigst. Auch wenn es schwierig ist den Fehler zu finden, was macht dein Programm denn beim auftauchen des Fehlers, was machst du mit deinem Programm, welche Arbeiten werden unterbrochen und wie ist der Typ der Exception?


    Koopakiller [kuːpakɪllɐ] - http://koopakiller.ko.ohost.de/

    Freitag, 30. November 2012 17:52
    Moderator
  • Moin,

    leider wird der Typ der Exception noch nicht gespeichert. Ich denke das werde ich mal ändern und auch schauen ob evtl. noch eine InnerException vorhanden ist. Leider komme ich so noch nicht weiter. Man kann das Programm starten und nicht anfassen. Irgendwann kommt dann diese Exception und beendet es. Ich vermute das es Daten vom Remoting empfängt und diese sich bis zu UI hochwandern. Dabei geht dann was schief.

    Erstmal besten Dank für die Hilfe.

    Mittwoch, 5. Dezember 2012 09:00
  • Hallo,

    wenn es beim starten passiert, kann es sein das eine Variable/Feld noch nicht initialisiert wurden ist und durch das empfangen der Remote-Signale aber auf diese Variable/Feld zugegriffen wird.

    Zu dem Typ der Exception, wenn eine .NET Anwendung wegen eines unbehandelten Fehlers abstürtzt, dann ist die Exception, die man bekommt von einem bestimmten Typ. Diesen will ich wissen, da er meisten schon viel über den Fehler verrät. Dort wo du den Stacktrace her hast muss auch Irgendwo der Typ der Exception stehen. Existiert denn eine InnerException?


    Koopakiller [kuːpakɪllɐ] http://koopakiller.ko.ohost.de/

    Mittwoch, 5. Dezember 2012 15:10
    Moderator
  • ****************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ****************************************************************************************************************

    Robert Breitenhofer, MICROSOFT   Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 18. Dezember 2012 11:36
    Moderator