问题标签 [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.
.net - 使用 procdump 监听所有异常不起作用
我想procdump
监听所有异常(无需指定进程名称或 ID)。
从此处给出的示例中,我认为使用以下内容应该可以:
...但是虽然我收到以下消息:
...当某个进程发生异常时,没有任何东西被转储。
以下 .NET 代码有意抛出异常:
编译它并运行,要么ProcdumpTest
立即ProcdumpTest false
抛出异常,要么ProcdumpTest true
等待按键抛出。
c++ - 如何在 Azure DevOps CI/CD 管道的 Catch2 C++ 测试中启用故障转储?
我正在为 Windows 开发 C++ 软件产品。我使用 Catch2 框架为它编写了测试。它们在 Azure Dev Ops (ADO) 的 CI/CD 管道中实现自动化。当我的代码发生崩溃(例如未处理的异常)时,我想做的是在此 ADO 管道中自动创建并保存崩溃转储(.dmp 文件)。我在 Catch2 框架中看不到任何允许故障转储收集的内容。我在别处使用工具 procdump.exe 来创建故障转储,我想知道是否有办法通过我的 Catch2 测试运行此工具以在发生崩溃时获取转储。关于如何做到这一点或使用其他工具的任何提示都会有所帮助,谢谢!达伦
batch-file - 需要将多个令牌分成多个参数,然后可以将这些参数设置为单独的变量
免责声明:我绝对没有任何语言的编码经验。
我需要创建一个脚本,它可以找到一个进程的 PID,其中将有多个运行,然后为每个 PID 创建一个进程转储。Procdump 不允许在运行多个进程时使用进程名称,因此我的目标是找到进程的 PID,然后将其设置为变量以供以后的命令使用。
这是我制作的 .bat:
我能够获得最后一个 PID 集并在命令中使用,但我不知道如何获得前两个。
这可能看起来一次性完成很多工作,但后来的目标是每 2 小时和 5 小时运行一次,持续 24 小时。我已经能够让它工作,所以现在我只需要解决 PID 问题。事后看来,也许 powershell 会是一个更好的选择,但我觉得我已经接近了,所以我想看看这条路线。
最多可以有三个进程。我在想它看起来像这样:
c++ - 在 procdump 针对异常创建转储后程序继续执行
我抛出了一个throw std::exception("dummy")
没有在任何地方被捕获的异常(作为测试)。
如果没有附加 ProcDump,这会立即使进程崩溃。
当我将 ProcDump 附加-e
到调试版本时,ProcDump 正确检测到未处理的异常,创建故障转储并退出。但是程序继续执行,就好像从未抛出异常一样。
我可以在 ProcDump 退出后手动使进程崩溃,但我真的不喜欢代码在崩溃后继续运行的想法,这种崩溃应该是致命的,即使它只是几毫秒。
这是什么原因造成的?如何确保我的程序崩溃(并且崩溃转储正确地代表了崩溃点)?这是 ProcDump 的问题还是我如何使用它?
这是重现此问题的最小示例:
我已经用 m$ clang-cl 和 msvc 试过了。我已经尝试了每一个 ProcDump 开关,甚至在与多个二进制文件的所有可能组合中都与我的问题模糊相关。
powershell - 使用 wmic 远程执行 procdump64.exe
我正在尝试使用 Powershell 中的 procdump64.exe 生成转储文件。我需要使用 wmic 远程运行可执行文件。我正在运行以下命令:
wmic /node:[IP Address] /user:"[DOMAIN/USER]" /password:"[PASSWORD]" process call create "cmd.exe /c U:\procdump64.exe -ma U:\lsass.exe > C:\dump.dmp"
作为参考,我已经验证 procdump64.exe 和 lsass.exe 都位于 U:\ 。
我收到显示“方法执行成功”的输出,返回值为 0。
但是,生成的文件是空的。谁能告诉我我的命令有什么问题?