2009-03-26 8 views
4

Ich habe zwei Steuerelemente mit DataGridView s auf verschiedenen Scheiben in einem DockPanel. Wenn man im Editiermodus ist und den Fensterbereich wechselt, bekomme ich NullReferenceException aus der DataGridViewEndEdit() Methode geworfen. Der Stack-Trace geht nicht tiefer und die Ausnahme enthält keine weiteren Informationen.Wie finde ich heraus, was ursprünglich eine Ausnahme verursacht hat, wenn sie von Microsoft-Code ausgelöst wird?

Ich habe diese Methode im Reflektor angeschaut, und ich kann nichts offensichtlich Null sehen. Ich vermute, dass das Problem tatsächlich in meinem Code ist, aber die Ausnahme wird aus dem Code von Microsoft heraus zurückgeworfen, und das setzt den Stack-Trace zurück. Wie finde ich heraus, was ursprünglich die Ausnahme verursacht hat?

Antwort

5

Wenn Sie einen Fehler im MS-Code vermuten, können Sie die Debugging-Symbole vom Symbol-Server herunterladen, laden und im Debugging verfolgen. Like so.

Beachten Sie, dass die Symbole einer der verschiedenen Lizenzen unterliegen. Dies kann sich auf Sie auswirken, wenn Sie (zB) an "Mono-" Beiträgen usw. arbeiten.

+0

Brilliant, danke. Funktioniert ein Charme! – Simon

1

Haben Sie sich die InnerException-Eigenschaft angesehen?

+0

Ja - es ist null. – Simon

1

Befolgen Sie die Anweisungen zum Einrichten von MS und source server . Legen Sie fest, dass der Debugger unterbrochen wird, wenn die NullReferenceException ausgelöst wird. Dann erhalten Sie entweder den vollständigen Quellcode zum Debuggen oder zumindest einen kompletten Stack-Trace.

Hinweis: Das aufgelistete QFE ist in SP1 enthalten.

Verwandte Themen