VS 继续调试会话意味着内存泄漏,关闭应用程序后?
Posted
技术标签:
【中文标题】VS 继续调试会话意味着内存泄漏,关闭应用程序后?【英文标题】:VS continues on Debug session means memory leak, after closing the application? 【发布时间】:2014-08-21 15:10:29 【问题描述】:如果 Visual Studio 保持在 Debug 会话中并且没有停止调试以切换到 Edit 会话,我可以说在我已经从程序中关闭它之后 必须在我的程序中存在一些内存泄漏本身,尤其是在 C# 条件下?
【问题讨论】:
这通常意味着您启动了一个您忘记终止的线程。 IsBackground 属性为 false 的一种。与往常一样,使用调试器来解决这个问题。 Debug + Windows + Threads 告诉你发生了什么。 【参考方案1】:我不这么认为。即使在用户要求程序退出后,没有内存泄漏的程序仍然可以运行。这可能是由程序或库中的错误引起的。该错误可能是线程仍在后台运行,或者代码正在等待从未发生过的事情。在 Visual Studio 中,您可以按 Ctrl+Break 或单击“Debug -> Break All”查看哪些代码或线程仍在运行。
当然,从另一个角度来看,你可以认为一个不会退出的程序正在泄漏内存,因为除非用户干预并杀死它,否则它会占用系统内存。
【讨论】:
以上是关于VS 继续调试会话意味着内存泄漏,关闭应用程序后?的主要内容,如果未能解决你的问题,请参考以下文章
如何从托管 C# 代码跟踪 CRT 调试内存泄漏输出的来源?