故意在Windows下崩溃外部进程

时间:2009-11-17 15:20:02

标签: windows crash-dumps

我想合成一个本机代码错误。这样我们就可以看到特别是某些调试输出在何时出现。

Pskill(来自Sys-Internals)导致优雅的退出。 DotCrash.exe似乎不再可以从Microsoft直接获得。

有没有办法在外部导致流程崩溃?

6 个答案:

答案 0 :(得分:2)

如果您想要的是等效的coredump,drwtsn32 -p ProcessId会生成正在运行的进程的当前状态的转储。如果您有适当的调试符号,则可以获得有价值的信息。

HTH。

答案 1 :(得分:2)

我在使用windbg之前完成了这个:

  1. 开始流程
  2. 使用windbg附加到流程
  3. 在我的某个应用功能上设置断点
  4. 运行应用程序,直到我点击断点
  5. 在windbg中将局部变量设置为会导致访问冲突的内容(例如,将指针设置为0xFFFFFFFF或使用寄存器值设置muck)
  6. 点击f5,应用程序应该会崩溃

答案 2 :(得分:1)

正如尼克所说,这可以通过Windows调试工具轻松完成 - 我会更进一步,并使用cdb(命令行WinDbg)编写整个交互的脚本。

答案 3 :(得分:1)

如果您在任何需要的时间需要转储,您可以使用Microsoft的免费调试诊断工具,该工具具有良好的UI来执行此操作,或者使用jrbjazz建议的命令行drwtsn32 -p processid

答案 4 :(得分:1)

您可以尝试使用CreateRemoteThread。正确使用它并不容易,但使其他过程崩溃应该非常简单; - )

答案 5 :(得分:0)

你能安装某种钩子功能,还是使用类似detours库的东西?