0

这是我继承的应用程序的一段代码,用户出现黄屏死机:

你调用的对象是空的

在线上:

bool l_Success ... 

现在我 95% 确定错误的论点是ref l_Monitor非常奇怪的,因为该对象是在几行之前实例化的。任何人都知道为什么会发生这种情况?请注意,我在代码的其他地方看到了同样的问题。

IDMS.Monitor l_Monitor = new IDMS.Monitor();
l_Monitor.LogFile.Product_ID = "SE_WEB_APP";

if (m_PermType_RadioButtonList.SelectedIndex == -1) {
    l_Monitor.LogFile.Log(
        Nortel.IS.IDMS.LogFile.MessageTypes.ERROR,
        "No permission type selected"
        );
    return;
}
bool l_Success = SE.UI.Utilities.GetPermissionList(
    ref l_Monitor,
    ref m_CPermissions_ListBox,
    (int)this.ViewState["m_Account_Share_ID"],
    (m_PermFolders_DropDownList.Enabled)
        ? m_PermFolders_DropDownList.SelectedItem.Value
        : "-1",
    (SE.Types.PermissionType)m_PermType_RadioButtonList.SelectedIndex,
    (SE.Types.PermissionResource)m_PermResource_RadioButtonList.SelectedIndex);
4

4 回答 4

1

您确定尝试在 l_Monitor 实例上访问的属性之一不为空吗?

于 2008-09-10T19:49:46.203 回答
0

暂时为该 (loooooongg) 行上的所有属性查询添加一些变量。运行调试器,检查值并消除小错误。

于 2008-09-10T19:51:50.550 回答
0

我倾向于同意其他人的观点;听起来您传递的参数之一 SE.UI.Utilities.GetPermissionList 是 null 导致异常。最好的办法是启动调试器并检查变量是否在调用该代码之前。

于 2008-09-10T19:56:17.793 回答
0

实际上是在 catch 块中抛出的NullReferenceException,因此堆栈跟踪无法显示该代码行,因此它在调用者处停止。

这确实是l_Monitor实例的属性之一。

于 2008-09-17T15:32:29.523 回答