问题标签 [procdump]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何通过具有命令行参数的 procdump 启动 Windows 应用程序?
我有一个用于 Windows 的 C++ 应用程序,它采用命令行参数。
如何使用procdump
这些参数启动应用程序?
我试过了 :
但都没有说:
但是,如果我明确运行该应用程序,它运行良好。
这有效:
我在谷歌上没有找到任何关于如何使用procdump
. procdump
如果做不到,我对任何其他相当简单的设置 CLI 持开放态度。任何帮助表示赞赏。
windows - 分析这个 Procdump .dmp 文件 - 来自 Apache httpd.exe
最近我的服务器的 Apache httpd.exe 已经像疯了一样崩溃(发布到服务器故障线程这里https://serverfault.com/questions/998227/windows-server-2008-r2-apache-2-4-constant-crashing-with -故障模块名称)。
我尝试了在网上找到的所有解决方案,但它仍然会发生。最后,我使用 Procdump 来监控 httpd.exe 进程,并在它崩溃时获取这个转储文件。但是如何分析结果是我的知识。我需要这方面的帮助。
使用 WinDbg 打开 .dmp 文件:
运行后!analyze -v
:
编辑:
我监视了另一次崩溃,这是运行后的结果!analyze -v
:
powershell - 前一个进程终止后如何自动启动新进程?
当 w3wp 通过 cmd/Powershell 达到内存阈值时,我正在捕获内存转储。
这里的问题是 cmd/Powershell 的进程在几个小时后自动终止,并且没有捕获任何转储,因为没有达到内存阈值。
进程 [7784] 已终止!按 ENTER 开始一个新的 cmd 进程。
我必须再次运行它
那么您知道在旧的 cmd/Powershell 进程终止后如何重新启动/重新运行命令吗?
我的命令在这里很简单
procdump -accepteula -ma 5246 -m 13312 -s 5 -n 1 D:\home\Logfiles\
谢谢你。
windbg - 从用户空间按需获取内核转储,无需内核调试 (Windows)
procdump
生成具有句柄信息的内核转储的最简单和最可移植的方式是什么(在只需将几个文件复制到目标机器的意义上)?
procdump
具有-mk
生成与指定进程有关的有限转储文件的选项。在 WinDbg 中报告为:
Mini Kernel Dump File: Only registers and stack trace are available
. 我尝试的大多数命令 ( !handle
, !process 0 0
) 都无法读取数据。
似乎是正式的,windbg
并且kd
会生成转储(这需要内核调试)。
我发现一个奇怪的解决方案是使用livekd
with -ml
: Generate live dump using native support (Windows 8.1 and above only).
。livekd
仍在寻找kd.exe
,但不使用它:) 所以我可以用一个空文件来欺骗它,并且不需要内核调试。知道它是如何工作的吗?
.net - 如何从 Windows 转储文件 (procdump) 中导出已加载库的列表
我正在查看 Visual Studio 2019 中的 *.dmp 文件 - 它显示了加载系统 DLL、文件名、版本、文件夹等的列表。
我想复制此信息以粘贴到 Excel 中,但我无法从 Visual Studio 中复制它。
任何人都知道我是否可以将其从转储文件导出到文本文件?
c# - Hung Winforms 应用程序不会使用 procDump64 触发转储文件
我正在学习如何在程序挂起时使用 procdump64 自动创建转储文件。
我创建了一个简单的 Winforms 应用程序,当按下按钮时它会陷入死锁。
我发出了这样的命令:
C:\Users\vl\source\repos\MyApp\MyApp\bin\Release\procdump64 -h Myapp.exe
我可以看到 procdump 开始监控。然后我按下按钮,我的表单不再响应。但是,即使经过很长时间,也没有生成转储文件。
可能是什么问题呢?
谢谢!
memory - 为什么 ProcDump 在 64 位 Windows 10 下无法记录 32 位进程的内存内容?
我想使用 ProcDump 的能力MINIDUMP_TYPE
通过-mc
命令行开关创建自定义的 minidump 以包含超出MiniDumpNormal
.
不幸的是MiniDumpWithFullMemory
, MiniDumpWithIndirectlyReferencedMemory
,MiniDumpWithPrivateReadWriteMemory | MiniDumpWithPrivateWriteCopyMemory
似乎也没有任何效果:创建了一个非空的小型转储,没有显示错误,但比预期的要小很多,并且通过 WinDbg 的.dumpdebug
功能查询小型转储不会列出任何上述标志,即使明确包含在小型转储中类型。似乎上面提到的任何标志都不会影响 ProcDump 的行为。
有问题的进程是在 64 位 Windows 10,build 2004 下运行的 32 位进程。我尝试了 procdump.exe 和 procdump64.exe 9.0 版,尽管没有-64
命令行开关,因为我不想包含 SysWOW64高架。我还尝试将最新的 Windows SDK 调试工具提供的 32 位和 64 位版本的 dbghelp.dll 复制到 procdump.exe 和 procdump64.exe 所在的相应文件夹中。最后,我确保将 minidump 类型作为十六进制数字传递,并且我尝试过的任何其他标志似乎都可以毫无问题地被识别,并且在之后检查 WinDbg 中的 minidump 时被列出。
例如,调用procdump.exe -mc 51B25 <process>
应该创建一个转储
在 WinDbg 中检查转储时,既不MiniDumpWithPrivateReadWriteMemory
也不MiniDumpWithPrivateWriteCopyMemory
显示在.dumpdebug
相应内存区域不可用的信息中。MiniDumpWriteDump
请注意,当我出于演示目的从应用程序中创建转储时,使用时确实会显示标志.dumpdebug
,并且生成的小型转储将明显更大(在其他可比较的条件下)。
有人可以确认 ProcDump 确实忽略了与内存相关的标志或向我解释我做错了什么吗?
(使用开关编写 MiniPlus 转储-mp
确实有效,但不一定包括感兴趣的内存区域。)
procdump - 使用 procdump 作为 AeDebug 工具,如何更改转储目录?
当进程崩溃时,我正在使用 procdump 自动创建 minidump。它使用以下语法:
但是转储文件夹是C:\Users\Administrator
,我该如何更改C:\dumps
?
我尝试使用procdump64 -j c:\dumps -i
,但它不起作用。
windows - Procdump:如何捕获可用的 IIS 故障转储
我一直在尝试获取 w3wp 崩溃转储以查看崩溃调用堆栈。我有两个转储,但它们都有一个线程 - 似乎 AppDomain 已经被回收了,并且在保存转储时没有任何有用的东西留在这个过程中。
使用的命令:“ procdump -mm -e -n 1 -l pt <PID>
”
也尝试-ma
了完全转储,但结果是一样的:
我不确定我是否在命令中遗漏了某些内容,或者 IIS 在使用 procdump 捕获它们时没有提供可用的托管转储 - 任何输入都非常感谢!
附加细节:我看到 procdump 记录了 STACK_OVERFLOW 异常,这显然需要不同的方法来捕获有用的转储。有关详细信息,请参阅下面我自己的答案。
只花了几个小时-希望这将为像我这样的其他人节省一些时间。
windows - procdump 转储是否显示由于需求分页而从未加载的页面?
最近我了解了Demand Paging以及仅在访问页面时才加载页面。我很想知道使用 procdump.exe(来自 Sysinternals)创建的转储是否会显示完整的虚拟地址空间,包括未加载的页面,或者,它是否只会显示已加载并在 MMU 中映射的页面?
我的自然想法是 procdump 将请求每个页面数据,因此将加载每个页面并转储完整的虚拟地址空间,但我没有找到任何方法来确保这一点。
谢谢