十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
VS 设置调试异常触发怎么办,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比下花园网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式下花园网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖下花园地区。费用合理售后完善,十年实体公司更值得信赖。
说明
默认情况下,VS2005,VS2010没有设置启动调试的异常触发,可在菜单调试下,选择异常,然后勾选上所有的异常中断的情况:
C++ Exceptions
Common Language Runtime Exceptions
...
作用
准确定位程序已有的问题,而不是程序崩溃直接退出
注意
用户设置的调试异常的信息,保存在.suo(Solution User Operation解决方案用户操作)文件,如果该文件没有上传到svn服务器,其他人下载代码的时候,必须重新设置调试异常的选项。如果没有进行用户的修改,默认可能不会生成.suo文件,该文件同时保存了用户的布局设置
实际应用场景中的效果
1)
在模块实现了动态加载的工程里面,能够在调用异常的时候,准确定位到异常出错的情况,一般是空指针
2)
在处理0xfeeefeee指针错误的时候,能够准确定位到错误的代码
3)
char szTestString[3600*1058*3] = {0};
实际上默认的栈只有2M的空间,上述代码超出了栈的范围导致程序崩溃,开启异常设置之后出现提示:0xC00000FD: Stack overflow
4)Run-Time Check Failure #2 - Stack around the variable 'szError' was corrupted
_TCHAR szError[32] = { 0 };
wsprintf(szError, _T("avcodec_send_packet:%d\n"), nRet);
OutputDebugString(szError);
原因:如果nRet是一个非常大的整型,会导致数组越界,从而程序崩溃提示如上
影响
现象:在使用VS2005 c++调试程序时,无法使用文件对话框打开文件,只要执行打开文件对话框,就报0x7703c54f 处最可能的异常: 0x000006BA: RPC 服务器不可用的错误。
解决方法
由于调试需要将调试菜单中的异常都打上勾,将勾都去掉,问题解决
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。