3

我想综合一个本机代码错误。这是为了让我们可以看到当发生这种情况时,一些调试输出被放置在哪里。

Pskill(来自 Sys-Internals)导致正常退出。Microsoft 似乎不再直接提供 DotCrash.exe。

有没有办法从外部导致进程崩溃?

4

6 回答 6

3

在使用 windbg 之前,我已经通过以下方式完成了此操作:

  1. 启动进程
  2. 使用 windbg 附加到进程
  3. 在我的应用程序功能之一上设置断点
  4. 运行应用程序直到我遇到断点
  5. 在 windbg 中,将局部变量设置为会导致访问冲突的内容(例如,将指针设置为 0xFFFFFFFF 或将寄存器值设置为 muck)
  6. 按 f5,应用程序应该会崩溃
于 2009-11-18T06:12:06.253 回答
2

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

HTH。

于 2009-11-17T18:10:54.823 回答
1

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

于 2009-11-18T16:09:32.637 回答
1

如果您在任何需要的时间需要转储,您可以使用 Microsoft 的免费调试诊断工具,该工具有一个很好的 UI 或drwtsn32 -p processidjrbjazz 推荐的命令行。

于 2010-04-20T06:39:05.183 回答
1

您可以尝试使用CreateRemoteThread。正确使用它并不容易,但让其他进程崩溃应该很容易;-)

于 2010-04-20T06:49:41.640 回答
0

你能安装某种钩子函数,或者使用像detours库这样的东西吗?

于 2009-11-17T15:22:42.853 回答