在本地主机的开发过程中调试异常的推荐方法是像这样抛出处理程序:
class MyEventHandler : IHandleMessages<MyEvent>
{
public async Task Handle(BlogLinkCreated message)
{
await Task.Delay(100);
throw new Exception();
}
}
我在调试输出中看到了一些异常,但我不知道它们是从哪里来的。我想查看堆栈跟踪,理想情况下是单步执行调用堆栈并查看局部变量的值。
最佳答案
Rebus 记录在执行处理程序时捕获的异常,包括异常通过调用 .ToString()
揭示的所有内容。
这包括完整的堆栈跟踪,如果您正在运行代码的调试版本,它还将包括源文件行号。
如果您没有以某种方式禁用日志记录,应该很容易找出哪一行代码抛出任何异常,让 Rebus 看到。
如果您使用 Visual Studio 开发代码,您也可以直接按 F5(或您用来启动附加调试器的应用程序的任何热键),然后等待调试器因异常而中断。
关于c# - 如何调试在 rebus 处理程序中抛出的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52623543/