0

我想procdump监听所有异常(无需指定进程名称或 ID)。

此处给出的示例中,我认为使用以下内容应该可以:

procdump -ma -i

...但是虽然我收到以下消息:

ProcDump is now set as the Just-in-time (AeDebug) debugger.

...当某个进程发生异常时,没有任何东西被转储。

以下 .NET 代码有意抛出异常:

using System;

namespace ProcdumpTest
{
    class Program
    {
        static void Main(string[] args)
        {
            if (ShouldAwaitKeyPress(args)) Console.ReadLine();
            Throw();
        }
        static void Throw()
        {
            throw new InvalidOperationException();
        }
        static bool ShouldAwaitKeyPress(string[] args)
        {
            var shouldAwaitKeyPress = false;
            if (args.Length > 0)
            {
               bool.TryParse(args[0], out shouldAwaitKeyPress);
            }
            return shouldAwaitKeyPress;
        }
    }
}

编译它并运行,要么ProcdumpTest立即ProcdumpTest false抛出异常,要么ProcdumpTest true等待按键抛出。

4

1 回答 1

2

感谢@Sebastian的帮助解决了:

我最初是procdumpC:\Program Files需要管理员权限procdump -i -ma的 .

将目标转储文件夹更改为非管理员文件夹后,转储已成功创建:

procdump -ma -i c:\path\to\some\non\admin\folder
于 2021-04-26T14:30:34.143 回答