gpt4 book ai didi

c# - 如何知道哪个方法启动了工作线程

转载 作者:太空宇宙 更新时间:2023-11-03 15:10:34 24 4
gpt4 key购买 nike

多年来,我一直在开发 C# 多线程应用程序。几天前我注意到,当它运行时,它会不断创建新的工作线程(几乎每秒一次)。使用 Visual Studio 2013“线程”窗口,这些线程没有名称并且位置“不可用”,因此我无法检查这些线程从哪里开始。我为我的代码中生成的所有线程命名,但这些线程仍然是“没有名称”创建的,所以我猜它们可能是由外部程序集生成的。

我的应用程序集成了 NLog.dll(用于登录到 txt 文件)、System.Data.SQLite.dll(用于数据读取和写入 db3 数据库)。它还使用 UDP 和 TCP 套接字进行数据交换。

示例:应用程序运行 2 分钟后,我有 70 个线程。然后,20 分钟后线程数为 190!如果我在 Visual Studio 中检查“线程”窗口,我会看到所有新线程都有“类别”“工作线程”并且“名称”是“无名称”。

这是我的 Visual Studio 线程窗口的快照:

snapshot of my Visual Studio Threads window谁能建议我如何找到这个线程泛滥的起源?提前致谢!

最佳答案

我会尝试使用 SysInternals 工具包 (www.sysinternals.com/) 中的 Process Monitor。ProcMon 有一个线程事件事件过滤器。

关于c# - 如何知道哪个方法启动了工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41359330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com