在ASP .NET中调试编译函数

时间:2013-05-18 09:24:09

标签: c# asp.net

我有一个我相信在ASP .NET中的网站,它正在抛出异常System.NullReferenceException: Object reference not set to an instance of an object.。堆栈跟踪显示如下:

[NullReferenceException: Object reference not set to an instance of an object.]
   SomeScript.getConnection() +32
   SomeScript.buildGridData() +299
   SomeScript.Page_Load(Object sender, EventArgs e) +92
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Control.LoadRecursive() +163
   System.Web.UI.Control.LoadRecursive() +163
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2603

对于请求数据的网站的基本上所有页面都发生相同的错误,只有上面的堆栈跟踪中的SomeScript交替加载脚本。

环境变化仅限于更改网站用于邮寄的远程SMTP服务器的密码,但网站在更改后继续正常加载。

我的感觉是,在用户尝试在网站内使用所述SMTP邮件功能并收到错误(我无法捕获收到的错误用户)后,getConnection()方法的这些错误开始发生。

由于getConnection()方法似乎在编译的DLL中并且我无法访问,因此我从这里进一步调试有点迷失。

尝试删除错误的下一步是什么?

1 个答案:

答案 0 :(得分:1)

首先,SMTP密码更改不太可能导致您对其描述的问题。但是如果在Web.config文件中进行了密码更改,我会说它可能不那么仔细,实际上与数据库连接相关的部分已被无意修改,并且不再有效。

如果您希望能够调试DLL,可以禁用在Visual Studio中调试“Just My Code”的选项(类似于工具/选项/调试) - 然后您应该可以进入这些DLL并查看问题所在。希望它不需要任何代码更改,您只需修复配置文件。