使用代码0xC0000417(无效的C运行时参数)退出意外的程序

问题描述 投票:0回答:1

将一个大项目升级到Visual Studio 2013后,该程序在正常计算机上导致崩溃(程序停止工作)。

现在,当我在Visual Studio 2013中调试此程序时,除了上一条消息之外,我什么都看不到:“程序'[3948] Server.exe已退出,代码为-1073740777(0xc0000417)。”

代码在“ntstatus.h”中定义为“无效的C运行时参数”

我猜这至少比“程序停止工作”消息更多。

有没有办法抓住这个错误?由于项目过大,并且某些库可能已更改,因此我无法概述此程序中的所有参数调用。

所以我正在寻找一种方法来全局捕获我的程序中的错误,以找出无效的参数调用。该程序也是基于MFC Dialog并且不包含“主”方法,为什么我找不到全局使用“_set_invalid_parameter_handler”的方法,这似乎是一个C方法,而不是对象方向。

感谢您的任何帮助! :)

c++ c debugging mfc visual-studio-2013
1个回答
0
投票

可能有更简单的原因,在我的情况下,_chdrive()中的错误计算值,结果是否定的。如果没有解释这个非常愚蠢的错误,并且非常惭愧,结果不是_chdrive()中的错误,而是意外的程序退出,代码为0xc0000417(无效的c运行时参数),的确如此。

© www.soinside.com 2019 - 2024. All rights reserved.