Q
C#异常不给行号
28
A
回答
36
只要将pdb
文件保留在应用程序目录中,在Debug中编译时应该可以使用行号。
根据Justin's answer,如果启用PDB创建,这也可以在Release中使用。
如果你有兴趣,更多信息可以在PDB Files找到(MSDN)
13
的Exception
类的StackTrace
属性包含行号,至少如果调试信息(PDB文件)可用:
using System;
class Program {
public static void Main() {
try {
throw new Exception("test");
} catch (Exception e) {
Console.WriteLine(e.StackTrace);
}
}
}
将给予PDB文件输出如下:
at Program.Main() in X:\code\test\test\Program.cs:line 6
,这不:
at Program.Main()
4
确保您的应用程序的PDB文件部署与应用。 PDB文件是CLR用来确定源代码行号的文件。
15
这是下降到调试符号不被使用 - 当你建立你的项目,确保你在调试设置“满”设置(Project properties
- >Build
- >Advanced
- >Debug info
),并确保该当您运行应用程序时,所产生的pdb文件会在同一个目录中同时出现。
相关问题
- 1. C#:JSON DeserializeObject给人异常
- 2. WCF故障异常行号
- 3. C#运行时异常
- 4. C++异常和ld符号警告
- 5. C#:内存不足异常
- 6. Flash Builder使用行号调试异常
- 7. Parallel.For - 异常行号似乎是错的
- 8. Jscript-ASP中的异常行号
- 9. PostSharp - OnExceptionAspect - 获取异常行号
- 10. 的Javascript的eval()异常 - 行号
- 11. CNContactVCardSerialization.dataWithContacts给出异常
- 12. JSONArray给人异常
- 13. httpconnection.getResponseCode()给EOF异常
- 14. instanceID.GetToken()给出异常
- 15. .NET npgsql异常不可读符号
- 16. 信号模块不会引发异常
- 17. 子串不断给StringIndexOutOfBounds异常
- 18. GetFileFromPathAsync给“参数不正确”异常
- 19. 针对C的异常库(不是C++)
- 20. 异常在C++捕不C库
- 21. C#异常调试 - 如何返回并恢复异常行
- 22. C#异常:NullReferenceException
- 23. C++ bad_alloc异常
- 24. C++异常
- 25. C#connection.Open()异常
- 26. C#IO异常
- 27. 异常在C#
- 28. C#异常 - System.InvalidCastException
- 29. System.UnauthorizedAccess异常C#
- 30. 异常在C++
是的,没有调试信息CLR不能报告行号。在调试会话中查找方法并查看问题仍然不应太困难。 – Lazarus 2010-02-03 12:56:40
愚蠢:http://stackoverflow.com/questions/1328836 – raven 2010-02-12 15:10:41
可能重复的[在异常处理中显示行号](http://stackoverflow.com/questions/688336/show-line-number-in-exception-handling ) – bmargulies 2012-10-25 14:52:46