我在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