2012-03-14 95 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

它是你说的第二个陈述。 – 2012-03-14 17:41:33

回答

4

堆栈跟踪显示引发异常时的调用堆栈。从你提供的内容你只能推断出一个例外是从AddDocuments中抛出的。任何传入的引用类型参数都可以为null。查明问题的最好方法是设置一个断点并检查这些值。

+0

+1导致问题的正确方法 – 2012-03-14 17:44:21

+0

如果是这样的话,为什么不能堆栈跟踪显示“AddDocuments”方法内的相应行吗? – Arun 2012-03-14 17:53:23

+0

这是正确的,我检查过它。堆栈跟踪会告诉您函数调用和错误发生的行号,而不是行本身。那时我的回答是错误的。 – 2012-03-14 18:11:29

1

您的堆栈跟踪意味着SimsBridge或SimsBridge.Bridge为空。

+0

+1我想具体地说,SimsBridge.Bridge – Arun 2012-03-14 17:40:54

+3

StackTrace说'SimsBridge.Bridge'里面的东西是空的 – 2012-03-14 17:43:03

1

该消息告诉你,在AddDocuments的某个地方引发了空引用异常。它可能是参数或成员之一。