gpt4 book ai didi

multithreading - 在调试环境之外识别 Delphi 应用程序中的线程

转载 作者:行者123 更新时间:2023-12-03 15:29:25 29 4
gpt4 key购买 nike

我发现一个应用程序使用 wmi 查询请求进程信息(所有线程以及每个线程的更多信息)。我修改了这个应用程序来确定每个线程的 CPU 使用率。(如果我的应用程序名为“appy”,则线程名为“appy/0”、“appy/1”……)

我的问题:有没有办法在 IDE 或其他调试环境之外轻松识别这些线程?

我知道有 NameThreadForDebugging 方法,但在调试环境之外无法访问该方法。

有没有办法在创建线程时分配自己的线程 ID?或者是通过创建字典并将该字典写入文件以便从外部访问来了解谁是谁(线程)的唯一方法。

提前致谢!

最佳答案

不,你不能分配自己的线程ID,线程ID是由CreateThread分配给线程的。功能并且在其生命周期内不能更改。正如您所说,识别外部应用程序(而不是调试器)中线程的唯一方法是以某种方式与该应用程序共享线程标识。

但是没有必要通过文件共享信息,例如您可以使用共享内存块。它会比使用文件更有效率。

关于线程ID的引用可以引用GetCurrentThreadId的注释。功能:

Until the thread terminates, the thread identifier uniquely identifies the thread throughout the system.

关于multithreading - 在调试环境之外识别 Delphi 应用程序中的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10443578/

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