gpt4 book ai didi

c - Windows 可执行文件返回失败

转载 作者:行者123 更新时间:2023-11-30 15:34:23 25 4
gpt4 key购买 nike

enter image description here我正在使用 Microsoft Visual Studio 创建固件升级实用程序。
我在这里面临着一个非常令人困惑的问题。

printf("Before \n");
if(any_device_active())
stat=switchover(ni_handle,&SWover);
else return; <<<<--------Second ONE
printf("switch over stat =%d\n",stat);
Sleep(1000);
return; <<<<<---------Third ONE

据观察,第一次返回成功。
此后所有返回均失败。
我似乎没有明白这个问题。我什至不知道要寻找什么。另外,switchover 函数是空的,只返回 0。any_device_active 仅返回 0 并打印列表,没有问题。这是可视化调试器抛出的错误代码 0xc0000409。

最佳答案

0xC0000409 是 STATUS_STACK_BUFFER_OVERRUN:这意味着对指针的某些写入覆盖了堆栈上不应包含的内容,并且函数 Epilog 中的 C 运行时库的安全代码检测到了它。

您的 switchover() 函数中存在某种缓冲区溢出错误或指针使用不当。

关于c - Windows 可执行文件返回失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23309228/

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