首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET应用程序的错误注入?

.NET应用程序的错误注入?
EN

Stack Overflow用户
提问于 2010-02-11 00:46:12
回答 4查看 1.8K关注 0票数 15

我想知道是否有人知道自动将常见故障注入运行中的.NET程序的工具或技术。像..。

  • 分配时随机注入一个OutOfMemoryException
  • 在尝试访问文件时随机注入FileNotFoundException
  • 使用套接字时随机注入IO或网络异常。

因此,我真的在寻找一种方法来拦截CLR中的一些特定调用,类似于AppVerifier对本地Win32代码所做的操作。其目的是在开发人员无法控制的大量错误条件下测试应用程序,并确保这些条件得到处理。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-11 01:08:02

有一个名为TestAPI的codeplex项目可以执行运行时错误注入。您需要查看它的托管代码错误注入API。它使用CLR剖析API在运行时拦截方法调用并修改它们的行为。

查看一个例子,了解如何在已编译的exe中的方法调用中注入异常。

票数 8
EN

Stack Overflow用户

发布于 2010-02-11 01:04:45

悬挂式隔离器似乎是你最好的选择。

如果您想抛出一个FileNotFoundException来模拟测试,那么您可以这样做。

在您的生产代码中,您有这样的方法

代码语言:javascript
运行
复制
public static Project OpenProject(string filePath)

在您的测试代码中,您可以像这样伪造OpenProject调用

代码语言:javascript
运行
复制
Isolate.WhenCalled(()=>Project.OpenProject(nulll)).WillThrow(new FileNotFoundException());

当您的代码命中OpenProject时,将抛出一个FileNotFoundException

票数 5
EN

Stack Overflow用户

发布于 2010-02-11 04:14:10

这与您的要求并不完全一致,但它是相关的,并且可能有助于实现在应用程序中改进异常处理的相同目标。

红门异常猎人亨特/索引

我没有使用这个特定的产品,但是我使用过的其他redgate产品都很棒。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2241486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档