强制崩溃应用程序

Mar*_*rkP 7 c++ crash

我正在测试我公司编写的应用程序.其中一个场景是查看该应用程序崩溃时系统状态会发生什么.那里有一个应用程序可以强制崩溃我的应用程序吗?我宁愿不在代码本身写崩溃(即空指针取消引用).使用任务管理器终止进程不会产生相同的结果.

Ale*_*ski 9

假设Windows,请参阅Application Verifier.

它可以进行故障注入(低资源模拟),使各种API调用以可配置的速率失败.例如堆分配,虚拟分配,WaitForXxx,注册表API,文件系统API等.

您甚至可以在启动期间未指定故障时指定宽限期(以毫秒为单位).


And*_*rii 5

在Windows上,您可以将WinDbg附加到进程,损坏某些寄存器或内存并分离.例如,您可以将某些活动应用程序线程的指令指针设置为0.

windbg -pn notepad.exe
Run Code Online (Sandbox Code Playgroud)

在连接之后,当前线程被设置为调试线程,因此您需要更改为应用程序线程以使其与RIP寄存器更新崩溃

0:008> ~0s 
0:000> rrip=0
0:000> qd
Run Code Online (Sandbox Code Playgroud)


Pau*_*aul 5

您可以使用winapiexec该工具:

winapiexec64.exe CreateRemoteThread ( OpenProcess 0x1F0FFF 0 1234 ) 0 0 0xDEAD 0 0 0

替换1234为进程id并运行命令,进程会崩溃。