gpt4 book ai didi

c++ - 未处理的异常 VS2010 C++

转载 作者:行者123 更新时间:2023-11-30 02:49:59 24 4
gpt4 key购买 nike

我正在尝试在 Windows 上创建一个套接字以连接到服务器。

我正在使用 msdn 网站上的代码,即 winsock 客户端代码。
(链接:msdn.microsoft.com/en-us/library/windows/desktop/ms737591(v=vs.100).aspx)

无论如何,当我尝试调试上述代码时,我收到错误消息:

Unhandled exception at 0x58a714cf (msvcr100d.dll) in Application.exe: 0xC0000005: Access violation reading location 0x00000032.

它问我是想中断还是继续,如果我继续,同样的错误信息会不断弹出。如果我按下 break,它会将我转到文件 output.c 中的第 1643 行。

简单地说,我不知道该怎么做才能让它发挥作用,如果能提供任何帮助,我将不胜感激。

编辑:

对迄今为止所有评论的回复:

output.c中周边相关代码为:

if (flags & (FL_LONG|FL_WIDECHAR)) {
if (text.wz == NULL) /* NULL passed, use special string */
text.wz = __wnullstring;
bufferiswide = 1;
pwch = text.wz;
while ( i-- && *pwch )
++pwch;
textlen = (int)(pwch - text.wz);
/* textlen now contains length in wide chars */
} else {
if (text.sz == NULL) /* NULL passed, use special string */
text.sz = __nullstring;
p = text.sz;
while (i-- && *p) //THIS IS WHERE IT BREAKS
++p;
textlen = (int)(p - text.sz); /* length of the string */
}

这不是我写的代码,而是已经存在的先天代码。

编辑 NR 2:这是显示我的调用堆栈的打印屏幕。我没有 10 个声誉,所以我无法显示图像,所以这里是图像的链接:

http://tinypic.com/r/5n6ww9/5

在上面你可以看到我的调用堆栈

最佳答案

output.c 文件包含处理 printf 系列函数的代码。

您在此处出现错误的事实可能是由于代码中格式错误的 printf 函数调用所致。也许您指定了无效的打印格式或没有提供足够的参数。

当您的程序崩溃时,单击 Break 并查看调试窗口中的调用堆栈,以了解在您的代码中何处调用了该函数,以及调用了哪些参数。

我怀疑您正在尝试打印 NULL 字符串或其他内容。当您找到 printf 调用(如果是这样的话)时,编辑您的问题以显示该部分源代码和/或使用调试器检查使用函数参数的变量并使确保它们都是正确的。

如果没有看到您编写的代码,在崩溃的位置,就不可能给出更准确的答案。

关于c++ - 未处理的异常 VS2010 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com