C# 如何知道程序挂起或循环的位置

C# 如何知道程序挂起或循环的位置,c#,visual-studio-2010,windows-7,C#,Visual Studio 2010,Windows 7,我有一个相当复杂的WinForm程序(C#VS2010 Express,Win7),我开发并运行该程序进行调试。 我的程序保持几分钟,没有任何错误消息。 一段时间后,它将捕获我的一条错误消息,但我找不到导致它在后台执行任何操作的实际行。 (我使用断点并输入了一些消息,但没有用) 它可能正在使用ExcelDataReader读取我的一个Excel文件。 当我坐在那里等待时,有没有办法知道程序在做什么。。。 samtal可能是一个愚蠢的问题,但您是否在调试模式下运行了它?如果是这样,它是否只是挂起而

我有一个相当复杂的WinForm程序(C#VS2010 Express,Win7),我开发并运行该程序进行调试。 我的程序保持几分钟,没有任何错误消息。 一段时间后,它将捕获我的一条错误消息,但我找不到导致它在后台执行任何操作的实际行。 (我使用断点并输入了一些消息,但没有用)

它可能正在使用ExcelDataReader读取我的一个Excel文件。 当我坐在那里等待时,有没有办法知道程序在做什么。。。
samtal可能是一个愚蠢的问题,但您是否在调试模式下运行了它?如果是这样,它是否只是挂起而不抛出任何形式的异常?如果您不知道问题出在哪里,可以尝试在不同点添加Debug.WriteLine语句,并使用这些语句来缩小困难区域。这些语句输出到“输出”窗口(调试->窗口->输出)。谢谢。我尝试了一些a/m的想法,但没有结果。问题现在已经解决(Excel文件解析中出现错误),但问题的答案仍然适用于将来的场合,谢谢您在VS2013 Express中尝试过它,并尝试过使用IntelliTrace?它被昵称为“历史调试器”,几乎可以让你及时返回。你可以考虑运行W/调试器,然后暂停执行。使用调试器,您将能够看到线程及其调用堆栈。