Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “的指示”&书信电报;地址>&引用;引用内存在"&书信电报;地址>&引用;。内存不能为“0”;读到;_C++_C_Winapi - Fatal编程技术网

C++ “的指示”&书信电报;地址>&引用;引用内存在"&书信电报;地址>&引用;。内存不能为“0”;读到;

C++ “的指示”&书信电报;地址>&引用;引用内存在"&书信电报;地址>&引用;。内存不能为“0”;读到;,c++,c,winapi,C++,C,Winapi,c/c++应用程序会抛出该错误,如何开始调试(比添加打印语句更好)?DFFICLUT在没有代码的情况下提出任何建议。在遇到问题之前,尝试使用调试器并在代码中设置断点。第二个地址是一个非常小的数字,如0x00000001或0x00000000吗?如果是这样,您可能只是忘记初始化指针 在任何情况下,标准的调试技巧都适用:通过注意问题发生的时间并缩小范围来隔离问题。根据您的开发环境,程序的映射文件可能会有所帮助。错误消息表明您正在使用Visual Studio进行开发。好吧,至少这是我在这个开发环境中

c/c++应用程序会抛出该错误,如何开始调试(比添加打印语句更好)?

DFFICLUT在没有代码的情况下提出任何建议。在遇到问题之前,尝试使用调试器并在代码中设置断点。

第二个地址是一个非常小的数字,如0x00000001或0x00000000吗?如果是这样,您可能只是忘记初始化指针


在任何情况下,标准的调试技巧都适用:通过注意问题发生的时间并缩小范围来隔离问题。

根据您的开发环境,程序的映射文件可能会有所帮助。

错误消息表明您正在使用Visual Studio进行开发。好吧,至少这是我在这个开发环境中看到的唯一一个错误信息

如果是这种情况,您可以使用内置的异常调试来捕获访问冲突并以这种方式获取调用堆栈


要在VC++2003中实现这一点,我目前已经打开了,请转到调试->异常,打开“Win32异常”,单击“c0000005访问冲突”,并将“异常抛出时”设置为“闯入调试器”。

您可以使用GDB调试您的应用程序:

如其他人所说,如果这在您的开发机器上是可复制的,启动调试器并设置断点/单步执行代码


但是,如果这种情况发生在客户的机器上,并且调试器不可用,则可以通过使用并将信息写入日志文件或进行小型转储来获取一些相同的信息(调用堆栈、寄存器等)。我怀疑callstack是最有用的起点,因此您可以在处理程序中使用StackWalk函数之一并写入日志文件。对于应用程序的构建,这至少需要一个映射文件或一组符号(PDB)。

没有称为“c/c++”的语言。。。为什么不指定它是哪一个呢?如果你的标签都是C和C++,你可以这么说。你最熟悉的调试器是什么?是时候启动它了。也许他/她不知道它写的是什么。为了学究,C不会“抛出”错误。用户问一个问题,如何开始回答(比随机回答更好)?我从著名的名牌软件中得到这个错误,该软件已经崩溃,我假设消息来自Windows。总是觉得很难过,因为它报告说记忆不能被“读”或“写”。为什么它也在语音标记中?这就像是在试图解释什么。小数字:初始化了一个指向NULL的指针,从未分配过正确的值。地址空间之外的随机数(特别是指针的大部分或所有字节都在0x20-0x7f范围内!):忘记初始化指针,包含来自其他对象的字节。