Таким образом, на самом деле то, что показывает другой ответ, приостанавливает поток в процессе, нет способа действительно приостановить процесс (т. Е. В одном вызове) ....
Немного другое решение состояло бы в том, чтобы фактически отладить целевой процесс, который вы запускаете, см. блог Майка Сталла для получения некоторых советов, как реализовать это из управляемого контекста.
Если вы внедрите отладчик, вы сможете сканировать память или другие снимки, которые вам нужны.
Однако я хотел бы отметить, что технически, теперь есть способ действительно сделать это. Даже если вы выполняете отладку целевого процесса отладки, другой процесс в вашей системе может внедрить поток, и ему будет предоставлена возможность выполнять код независимо от состояния целевого процесса (даже скажем, если он достигнет точки останова из-за нарушения прав доступа) ), если у вас все потоки приостановлены до сверхвысокого числа приостановок, в настоящее время находятся в точке останова в потоке основного процесса и в любом другом таком предположительно замороженном состоянии, система все еще может внедрить другой поток в этот процесс и выполнить некоторые инструкции. Вы также можете решить проблему изменения или замены всех точек входа, которые ядро обычно вызывает и т. Д., Но теперь вы вступили в гонку вязкой руки MALWARE;) ...
В любом случае, использование управляемых интерфейсов для отладки кажется «намного проще, чем p / invoke» многих вызовов API-интерфейса, которые плохо подражают тому, что вы, вероятно, действительно хотите делать ... используя API отладки;)