问题描述
- vs2013 assert失败时总是突然结束,不给出任何提示信息,怎么办?
- 我在c++程序中使用assert,每次如果assert中的内容测试失败,程序就直接结束了,什么提示都不给出,常常给人莫名其妙的感觉,为什么就突然结束了?有时会立即想到是不是assert不通过,但查找是哪个assert不通过也常常很花费功夫!有时要找很久才突然想起是不是哪个assert又不通过,真的汗!我使用vs2013,这个assert不应该是这样的吧?是不是有一个地方可以设置它不要突然结束程序,而是给出提示?百度很久没有答案,望高手指教!
解决方案
刚想到一个主意,尝试用命令行运行一下,看到运行结果中输出了Assertion failed...的错误信息!直接运行时它估计只闪了一下,根本看不到错误信息,奇怪的是怎么没有人提问和解决这个问题呢?在此我将自己的方法写下来,供以后或他人参考,假如我的程序为Test.exe,在同目录中创建名为runTest.cmd的文件,编辑文件内容如下:
:执行同目录下的文件
Test.exe
pause
保存,双击运行会打开命令行窗口,虽然Test.exe同样会突然退出,但是可以看到输出的错误信息。
解决方案二:
assert不通过会报错的,估计不是
解决方案三:
难道大家都没有碰到这个问题吗?怪哉,VS不会那么不友好吧?!!如果这样用VS的assert简直是找死!!
解决方案四:
刚想到一个主意,尝试用命令行运行一下,看到运行结果中输出了Assertion failed...的错误信息!直接运行时它估计只闪了一下,根本看不到错误信息,奇怪的是怎么没有人提问和解决这个问题呢?在此我将自己的方法写下来,供以后或他人参考,假如我的程序为Test.exe,在同目录中创建名为runTest.cmd的文件,编辑文件内容如下:
:执行同目录下的文件
Test.exe
pause
保存,双击运行会打开命令行窗口,虽然Test.exe同样会突然退出,但是可以看到输出的错误信息
解决方案五:
遇到同样的问题,后来将调试时,异常设置中的win32异常,全部勾选,就正常了。默认只勾选了部分。
时间: 2024-10-29 21:03:31