2012-03-14 11 views
4

次のコード行をデバッグするためにスタックトレースを使用すると、私に例外が正しく

plug.Instance.AddDocuments(new Int32[] { val_pid }, val_ptype, val_doccat, val_subcat, val_doctype, val_notes, val_summary, SummaryAppendOptions.None, val_docStatus, new String[] { PDFFile })

を引き起こし、これは例外の詳細です。

System.Exception was caught 
Message=Object reference not set to an instance of an object. - Error when trying to save document 
Source=SimsBridge 

StackTrace: 
    at SimsBridge.Bridge.AddDocuments(Int32[] personIds, Int32 PersonType, String docCatagory, Int32 subCatagory, String docType, String notes, String summary, SummaryAppendOptions summaryOptions, String documentStatusCode, String[] filePaths) 
    at ManagedScanDesktop.Form1.SimsScanComplete(String[] files) in C:\Working\ManagedScanDesktop 1.8\v1.8\ManagedScanDesktop\ManagedScanDesktop\Form1.cs:line 2619 
InnerException: 

私は実際の例外に対する解決策を探していません。

私の質問は、メソッドのどの部分に参照が設定されていないかを示すスタックトレースですか?または、スタックトレースは、メソッドの呼び出し先をトレースするだけですか?

+0

あなたが言う2番目の声明。 –

答えて

4

スタックトレースは、例外がスローされたときにコールスタックを表示します。あなたが提供したことから、例外はAddDocumentsからスローされたとしか推測できません。渡される参照型パラメーターは、いずれもnullでもかまいません。問題を特定する最も良い方法は、ブレークポイントを設定し、値を調べることです。

+0

+1の質問の正しい方法を導くための+1 –

+0

その場合、スタックtraceは "AddDocuments"メソッド内の対応する行を表示しますか? – Arun

+0

これは正しいです、私はそれをチェックしました。スタックトレースは、関数呼び出しとエラーが発生した行番号を示し、行自体ではありません。私の答えは間違っていた。 –

1

スタックトレースは、SimsBridgeまたはSimsBridge.Bridgeがヌルであることを意味します。

+0

+1私は具体的には、SimsBridge.Bridge – Arun

+3

と思いますStackTraceは 'SimsBridge.Bridge'の中に何かがあると言っています –

1

AddDocumentsのどこかにnull参照例外がスローされたことを示すメッセージが表示されます。パラメータまたはメンバーのいずれかになります。