3

SuspendThread()使用 Win32 API 只能在一次调用中使用而不是完整的进程挂起单个线程。
迭代一个进程线程并一次挂起它们不是一个好的选择,因为它可能导致死锁和意外行为。

这应该是可以在内核中使用 DDK 中的函数(我不记得它的名字)了。
如何将此功能公开给用户模式?

有没有其他方法可以在不进入内核的情况下实现这一目标?

SysInternals 进程资源管理器有一个暂停进程的选项。它是如何做到的?

4

1 回答 1

2

实际上,这正是MiniDumpWriteDump看起来要做的事情——它在创建转储之前单独挂起进程中的所有线程(调用线程除外)。

仅此一项不应导致死锁或意外行为,尽管显然最好从单独的进程中执行此操作。

于 2011-08-30T11:35:06.213 回答