【发布时间】:2014-02-09 13:10:25
【问题描述】:
我想在 VS 中为我的线程设置名称,以便于调试。这可以使用特殊异常来设置 - How to set name to a Win32 Thread?。但是,在抛出给定异常时,必须已经附加了调试器。
当附加了调试器时,是否有可能注册事件? (我不想每次都检查 IsDebuggerPresent)。在这种情况下,我会抛出给定的“命名我的线程”异常。
【问题讨论】:
-
无需附加调试器。这就是 RaiseException() 在 __try 块中的原因。不,没有事件。
-
@HansPassant,如果未附加调试器,则该调用不会执行任何操作,但我想在附加它时看到名称。
-
确实如此。仍然没有事件。您必须添加自己的,也许是热键。你肯定会发现很难让线程真正注意到它。哪一个解释了为什么没有事件:)
-
@HansPassant,谢谢。我知道这会很困难,这就是为什么我认为操作系统能够给应用程序一些“提示”:) 你可以用你最后的评论作为答案,所以我可以标记这个问题已回答?
标签: windows multithreading debugging