繁体   English   中英

我的 C# 应用程序在循环中,如何在代码中找到位置?

[英]My C# application is in a loop, how can i find the position in the code?

我写了一个在后台运行的相当大的应用程序,做圆顶的东西并处理一些数据。

现在的问题是,有一段时间应用程序运行良好。 但是当我一天后检查时,例如我的应用程序的 Backgroundworker 似乎循环或卡住了。 没有错误消息,应用程序的 UI 仍然运行良好。 它只是停止处理数据。

专门针对这种情况,我为自己添加了一个简单的网站,Backgroundworker 会在其中报告当前的 DateTime。 因此,当网站上的 DateTime 有点最新时,我知道它运行良好。 但是当它过去时,我知道我的应用程序被卡住了。

问题出现在不确定的时间之后。 它可以是 10 分钟或 90 小时。

现在进行调试:是否可以在 Visual Studio 中查看应用程序当前所在的位置? 这将使调试变得更加容易。 否则我将不得不在反复试验的基础上设置断点......

此致,

朱利安

你有两个选择:

1.- 按照建议的方式附加调试器并检查代码,但如果应用程序长时间运行良好,这不是最好的主意。

2.- 日志文件。 创建日志文件来跟踪您的应用程序。

我会怎么做:我会结合这两种选择。 添加日志文件以检查结果以及应用程序何时达到某些点(由您决定),然后,一旦我或多或少地知道问题出在哪里,请使用调试器。

祝你好运

编辑:

我完全同意这个答案,但要补充一点,您可能会受益于让后台工作人员在进入和离开特定部分时将关键位置信息传递回 UI,以便您在附加时可以简单地询问它。 由于问题可能需要几个小时才能显现出来,除非您使用具有有限条目的滚动日志,否则您最终可能会遇到大量日志文件,连续设置一个告示至少可以让您大致知道将断点放在哪里在那一刻。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM