使用procdump作为AeDebug工具,如何更改转储目录?

问题描述 投票:0回答:2

我正在使用 procdump 在进程崩溃时自动创建小型转储。它使用以下语法:

procdump64 -i

但是转储文件夹是

C:\Users\Administrator
,如何更改为
C:\dumps

我尝试使用

procdump64 -j c:\dumps -i
但不起作用。

procdump
2个回答
0
投票

(这个问题发布已经有一段时间了,但值得回答)

(为了方便起见,我将使用

procdump
(而不是
procdump64

从问题来看,这意味着执行以下操作应该可行(在OP的用例中,将转储写入

C:\Users\Administrator
):

procdump -i

...但至少在我看来,事实并非如此。

似乎必须指定应写入的转储的类型(“完整”(

-ma
)、“迷你”(
-mm
)等)。只需执行
procdump
即可列出转储类型。

回到问题,以下应该有效:

procdump -ma -i c:\dumps

请注意,如果目标文件夹需要管理员权限,这可能不起作用,即使

procdump
在以管理员身份运行的 cmd 下运行(这就是我经历过的)。


0
投票

将 prodcump 重新定位为 AeDebug 工具

如果您只是运行

prodcump.exe -i
那么它会将转储写入 prodcump 安装的位置,通常在“C:\Program Files”某处,普通用户没有写访问权限。我的解决方案:

  1. 假设 prodcump 已安装在“C:\Program Files\Sysinternals”中,并且
  2. 我希望将转储写入 C:\Temp\procdumps。

将其放入 .bat 文件中(并以管理员身份运行):

md C:\Temp\procdumps
cd C:\Temp\procdumps
@rem procdump must be registered FROM THE DIR WE WANT DUMPS TO BE WRITTEN TO. 
"C:\Program Files\Sysinternals\procdump" /accepteula -i -ma C:\Temp\procdumps 

实际上我不知道最后一个 C:\Temp\prodcumps 是否有什么区别。注册为AeDebug工具时似乎没有使用。

我的注册表变成:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"UserDebuggerHotKey"=dword:00000000
"Auto"="1"
"Debugger"="\"C:\\Program Files\\Sysinternals\\procdump.exe\" -accepteula -ma -j \"C:\\Temp\\procdumps\" %ld %ld %p"
© www.soinside.com 2019 - 2024. All rights reserved.