1

我正在为 Windows 开发 C++ 软件产品。我使用 Catch2 框架为它编写了测试。它们在 Azure Dev Ops (ADO) 的 CI/CD 管道中实现自动化。当我的代码发生崩溃(例如未处理的异常)时,我想做的是在此 ADO 管道中自动创建并保存崩溃转储(.dmp 文件)。我在 Catch2 框架中看不到任何允许故障转储收集的内容。我在别处使用工具 procdump.exe 来创建故障转储,我想知道是否有办法通过我的 Catch2 测试运行此工具以在发生崩溃时获取转储。关于如何做到这一点或使用其他工具的任何提示都会有所帮助,谢谢!达伦

4

1 回答 1

1

我最终使用 procdump.exe 来启动我的 Catch2 测试可执行文件。例如:

 procdump.exe -ma -e -x CrashDumpFolder MyCatch2Tests.exe  <test arguments>

由于在我的情况下 MyCatch2Tests.exe 在单个进程中运行测试,所以上面应该可以工作。如果我的测试发生崩溃,则会在 CrashDumpFolder 中创建完整的崩溃转储(*.dmp 文件)。

于 2021-05-21T18:03:53.473 回答