我在Visual Studio 2012上有一个错误的C#程序。我如何检索堆栈跟踪?从Visual Studio中获取堆栈跟踪
0
A
回答
3
调试时,堆栈跟踪可以作为“调用堆栈”窗口进行访问。如果你愿意,你捕获的异常的堆栈跟踪,它是通过异常的StackTrace
会员,你抓到访问:
try
{
[...]
}
catch (Exception ex)
{
Console.Write(ex.StackTrace);
}
要添加其他有用的例子:
try
{
[...]
}
catch (Exception ex)
{
System.Diagnostics.Debug.Write(ex.StackTrace);
}
这将打印到Visual Studio调试控制台,而不是应用程序的控制台窗口。
1
如果您收到一个例外,您可以通过调用相同名称的成员来获得StackTrace。
1
这是一些代码,我用它来获取信息
if (e.Exception.InnerException != null)
{
sb.AppendLine("InnerException");
if (e.Exception.InnerException.Message == null)
{
sb.AppendLine("e.Exception.InnerException.Message == null");
}
else
{
sb.AppendLine("e.Exception.InnerException.Message = " + e.Exception.InnerException.Message);
}
if (!string.IsNullOrEmpty(e.Exception.InnerException.StackTrace))
{
sb.AppendLine("e.Exception.InnerException.StackTrace ");
int count = 0;
foreach (string line in e.Exception.InnerException.StackTrace.Split('\n'))
{
sb.AppendLine(line.Trim());
count++;
if (count > 10) break;
}
}
}
sb.AppendLine("OuterException");
if (e.Exception.Message == null)
{
sb.AppendLine("e.Exception.Message == null");
}
else
{
sb.AppendLine("e.Exception.Message = " + e.Exception.Message);
}
if (!string.IsNullOrEmpty(e.Exception.StackTrace))
{
sb.AppendLine("e.Exception.StackTrace ");
int count = 0;
foreach (string line in e.Exception.StackTrace.Split('\n'))
{
sb.AppendLine(line.Trim());
count++;
if (count > 10) break;
}
}
相关问题
- 1. visual studio express中的堆栈跟踪
- 2. 提取从堆栈跟踪
- 3. 从ZendFramework获取完整堆栈跟踪
- 4. 从NullPointerException获取堆栈跟踪
- 5. 从堆栈跟踪获取文件名
- 6. 从javascript堆栈跟踪中查找Java实际堆栈跟踪
- 7. 在VB6中获取堆栈跟踪
- 8. 在Perl中获取堆栈跟踪?
- 9. 如何获取堆栈跟踪信息?
- 10. 使用cx_freeze获取Python堆栈跟踪
- 11. 获取堆栈跟踪参数的值?
- 12. 获取堆栈跟踪不通过USB
- 13. VB6中的堆栈跟踪
- 14. 如何在Visual Studio中查找堆栈跟踪?
- 15. 堆栈跟踪3
- 16. 堆栈跟踪如何构建以及堆栈如何跟踪?
- 17. 如何从Python中的异常对象获取堆栈跟踪?
- 18. 如何从堆栈跟踪中获取行号?
- 19. 如何从rails中的应用程序获取堆栈跟踪?
- 20. 从余烬路由错误中获取堆栈跟踪
- 21. R:如何从积雪包中获取堆栈跟踪
- 22. 如何在WinRT中从C++获取堆栈跟踪?
- 23. 从堆栈跟踪中获取更多详细信息
- 24. 是否可以从堆栈跟踪中获取实际类型?
- 25. 在堆栈跟踪中捕获FileNotFound?
- 26. eclipse中的堆栈跟踪
- 27. 如何获得正确的堆栈跟踪而不是反射堆栈跟踪?
- 28. asp.net在浏览器中获取调试堆栈跟踪
- 29. CryptographicException在堆栈跟踪
- 30. Java - 捕获所有堆栈跟踪
你说的意思是“找回”了吗?你想显示它?将其记录到文件?如果你目前没有任何代码来处理你的异常,你肯定会得到一些东西。或者你有一个空的'catch'块来吞噬异常?可能有助于发布一些代码。 –
你的意思是在用户界面?调试,窗口,堆栈跟踪。但你必须首先有一个例外。 – Paparazzi