程序运行出错:vsprintf.c:244,Buffer too small,有没有人遇到过?该如何处理
程序运行出错:vsprintf.c:244,Buffer too small,有没有人遇到过?
程序编译运行后,出现“f:\dd\vctools\crt_bld\self_x86\crt\src\vsprintf.c Line:244”
Expression:("Buffer too small", 0).
我以为是程序的sprintf_s或者sprintf出错,我就把我写的代码中的sprintf相关的函数全部撤掉,不用,改其他方法,
但是如果是用vs2008的debug环境下运行(调试),没有问题出现,只要脱离vc环境,独立运行(还在本机),就会报错,
不知道是什么原因,各位帮忙啊
------解决方案--------------------
编译时,生成pdb符号文件
单独运行时,崩溃后选调试,也能查看调用堆栈
------解决方案--------------------
------解决方案--------------------
sprintf.c Line:244”
Expression:("Buffer too small", 0).
已经很明确的说明,你的缓冲区太小了.
你可以试着把sprintf的用于存放格式串的缓冲区开大一点,或者看看你是不是格式了一个很大的串进去
------解决方案--------------------
点击重试 看堆栈 退至你代码处再找问题
程序中没有直接用到sprintf 但是有可能其它的函数用到了此函数,
程序编译运行后,出现“f:\dd\vctools\crt_bld\self_x86\crt\src\vsprintf.c Line:244”
Expression:("Buffer too small", 0).
我以为是程序的sprintf_s或者sprintf出错,我就把我写的代码中的sprintf相关的函数全部撤掉,不用,改其他方法,
但是如果是用vs2008的debug环境下运行(调试),没有问题出现,只要脱离vc环境,独立运行(还在本机),就会报错,
不知道是什么原因,各位帮忙啊
------解决方案--------------------
编译时,生成pdb符号文件
单独运行时,崩溃后选调试,也能查看调用堆栈
------解决方案--------------------
------解决方案--------------------
sprintf.c Line:244”
Expression:("Buffer too small", 0).
已经很明确的说明,你的缓冲区太小了.
你可以试着把sprintf的用于存放格式串的缓冲区开大一点,或者看看你是不是格式了一个很大的串进去
------解决方案--------------------
点击重试 看堆栈 退至你代码处再找问题
程序中没有直接用到sprintf 但是有可能其它的函数用到了此函数,