我在c++程序中使用assert,每次如果assert中的內容測試失敗,程序就直接結束了,什麼提示都不給出,常常給人莫名其妙的感覺,為什麼就突然結束了?有時會立即想到是不是assert不通過,但查找是哪個assert不通過也常常很花費功夫!有時要找很久才突然想起是不是哪個assert又不通過,真的汗!我使用vs2013,這個assert不應該是這樣的吧?是不是有一個地方可以設置它不要突然結束程序,而是給出提示?百度很久沒有答案,望高手指教!
剛想到一個主意,嘗試用命令行運行一下,看到運行結果中輸出了Assertion failed...的錯誤信息!直接運行時它估計只閃了一下,根本看不到錯誤信息,奇怪的是怎麼沒有人提問和解決這個問題呢?在此我將自己的方法寫下來,供以後或他人參考,假如我的程序為Test.exe,在同目錄中創建名為runTest.cmd的文件,編輯文件內容如下:
:執行同目錄下的文件
Test.exe
pause
保存,雙擊運行會打開命令行窗口,雖然Test.exe同樣會突然退出,但是可以看到輸出的錯誤信息。