【发布时间】:2014-03-24 17:02:01
【问题描述】:
我编写了一个代码,该代码能够使用地图文件生成自身的覆盖率数据,而无需其他应用程序对其进行调试,并且它还能够生成与 Cobertura 报告和 OpenCover 兼容的 xml 报告,以进行进一步的分析和图形报告.
问题是,到目前为止,我必须调用该函数来手动生成报告,其想法是在进程退出后立即自动生成报告。
我的第一种方法是尝试在 RtlExitUserProcess/RtlExitUserThread/ExitProcess 处编写挂钩,但每个函数都涵盖了一些特定情况,如果您强制进程结束(例如使用 taskkill 杀死它)或使用 CTRL+ 关闭应用程序控制台窗口C 行为改变。
有什么方法可以创建一个可靠的回调,当应用程序即将结束时总是会调用它?就像您在调试另一个应用程序时,当进程终止时,您会收到一个包含详细信息的调试事件。
提前致谢
【问题讨论】:
-
我的理解是你不能挂钩到“杀死进程”/“任务杀死”,这似乎是备份在这里stackoverflow.com/questions/838261/…
标签: delphi assembly reverse-engineering