我有一个C ++和C#的应用程序(它们都在同一个项目中)。在某些情况下(每次都不可重现)应用程序崩溃,我看不出有任何原因导致此崩溃。
我在每个可能导致崩溃的地方添加了一个try..catch块 - 我甚至在应该捕获异常的'Program.cs'代码中添加了一个try..catch - 并没有任何帮助。
我怎样才能找到问题?我应该从哪里开始?
答案 0 :(得分:4)
将procdump与-ma,-e,-t选项一起使用。当应用程序崩溃时,它应该生成转储文件。在您最喜欢的调试器(VS2010或WinDbg)中打开它。然后检查调用堆栈中的线索。
答案 1 :(得分:0)
尝试调试(不运行)应用程序,它会在您的应用中找到错误。 如果您使用的是Visual Studio 2010,请按F5。
答案 2 :(得分:0)
请使用日志管理器。在每个执行点(例如函数的开始和结束),将信息写入.txt文件或数据库。当然,你可以找到问题所在。