首页 文章

0x523d14cf(msvcr100d.dll)处理未处理的异常?

提问于
浏览
0

IntellitracTCPIP.exe中0x523d14cf(msvcr100d.dll)的未处理异常:0xC0000005:访问冲突读取位置0x00000008 .

什么可能导致此错误?以及如何解决它

2 回答

  • 4

    您尝试阅读的地址表明您有一个由多个4字节整数组成的结构 . 你有一个指向该结构类型的指针,但该指针为null . 你的程序想要读取第三个 - 第三个整数字段的偏移量为8.将其添加到空指针地址0,然后得到0x00000008 . (它可能是更小或更大类型的结构,甚至是数组,但我的经验告诉我最有可能是4字节整数 . )

    该错误消息表明违规行代码属于msvcr100d.dll . 那不是你的代码;你可能已经传递了一个指向某个C运行时函数的空指针 . 该函数假设您提供了一个有效指针并尝试读取结构的第三个字段,但由于该指针无效,操作系统拦截了读取尝试并引发了异常 .

    在发生错误之前,查找程序中的最后一行代码 . 要做到这一点,你可以使用调用堆栈来查看程序所做的函数调用链,以达到它崩溃的程度 . 沿着列表向下,直到找到您的某个功能 . 你看到了什么指针吗?你能保证他们应该调用那个函数吗?要么确保指针有效,要么避免使用空指针调用该函数 .

  • 0
    0xC0000005: Access violation reading location 0x00000008.
    

    这表明指针不好 . 没有指针显示指向如 0x00000008 这样的低地址 . 您没有提供足够的信息,请尝试在调试器下运行该程序 .

相关问题